我希望使用正则表达式在字符串中的特定单词后立即找到该单词。例如,如果单词是'my',
“这是我的祈祷” - 祈祷
“这是我的书()” - 书
是否可以使用正则表达式?
答案 0 :(得分:7)
正则表达式将是
(?<=\bmy\s+)\p{L}+
\p{L}+
是一系列字母。 \p{L}
是Unicode code point with the property&#34; Letter&#34;,因此它与任何语言的字母匹配。
(?<=\bmy\s+)
是一个后瞻性的断言,它确保了这个词#34; my&#34;在之前
答案 1 :(得分:2)
您可以使用
my\s+\b(\w+)\b
这会抓住我在第一个小组后面的单词。
答案 2 :(得分:0)
对于my
,请使用以下正则表达式:
my (\w+)
答案 3 :(得分:0)
如果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
如果没有匹配,这将返回一个空字符串。
答案 4 :(得分:0)
“这是我的祈祷”
.* (my )(\D*)( ).*
结果中的group2将是你的“祈祷”字样