Regex查找紧跟在特定单词后面的单词
本文关键字:单词 查找 Regex | 更新日期: 2023-09-27 17:54:02
我想使用正则表达式查找字符串中紧跟在特定单词之后的单词。例如,如果单词是"my",
"这是我的祈祷"-祈祷
"这是我的书()"——本书
是否可以使用正则表达式?
正则表达式为
(?<='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"