我想得到我用 正则表达式 搜索到的单词的前一个和后一个单词,可以使用以下模式来获得。
在这个例子中,我已经搜索了单词"the",所以我可以使用以下模式成功地获取"the"的前一个和后一个单词。
'\\b(?=(\\w+\\s+the|the\\s+\\w+)\\b)'
但是,使用这种模式时,我遇到一个问题,即当搜索词在页面中第一次出现(在下面示例文本中为“cite”)或最后一次出现(在下面示例文本中为“attachments”)时,它无法找到。
示例文本:
cite any cases or other legal materials that the arbitrator should read before the hearing attachments
我还发现不同的模式能够获取第一个和最后一个单词。 当搜索词在页面中首次出现时的模式如下:
对于第一个单词:
'\\b(?=($+cite|cite\\s+\\w+)\\b)'
对于最后一个单词
'\\b(?=(\\w+\\s+attachments|attachments+$)\\b)'
我希望使用一个模式来涵盖所有三种情况,无论单词是在开头、中间还是结尾。
已经尝试过多种组合,但没有成功。
请问有谁能帮我把这三种情况都包含在一个模式中,并且可以给出前/后面的单词结果吗?
(\w+)?\s*cite\s*(\w+)?
- karthik manchala