Regex查找紧跟在特定单词后面的单词

本文关键字:单词 查找 Regex | 更新日期: 2023-09-27 17:54:02

我想使用正则表达式查找字符串中紧跟在特定单词之后的单词。例如,如果单词是"my",

"这是我的祈祷"-祈祷

"这是我的书()"——本书

是否可以使用正则表达式?

Regex查找紧跟在特定单词后面的单词

正则表达式为

(?<='bmy's+)'p{L}+

'p{L}+是一个字母序列。'p{L}是具有属性"Letter"的Unicode码点,因此它匹配任何语言中的字母。

(?<='bmy's+)是一个后置断言,确保单词"my"在

之前。

使用前置REGEX:

(?<=my )'b'w+'b

可以使用

my's+'b('w+)'b

这捕获了第一个子组中my之后的单词。

对于my,使用以下正则表达式:

my ('w+)

如果my取自用户输入,

static string GetWordAfter(string word, string phrase)
{
    var pattern = @"'b" + Regex.Escape(word) + @"'s+('w+)";
    return Regex.Match(phrase, pattern, RegexOptions.IgnoreCase).Groups[1].Value;
}
...
string wordAfterMy = GetWordAfter("my", "this is my book()"); // gives book

如果没有匹配,将返回一个空字符串。

"这是我的祈祷"

.* (my )('D*)( ).*

group2 in result will your word "prayer"