[英]How to match just first word?
我知道這個問題似乎很平庸,但是我有一個小問題。 我正在嘗試匹配類似於以下內容的輸入:
%!: Word Word=888 Word=AAA
...使用此正則表達式:
[A-Za-z]*
我只需要選擇第一個單詞, 僅包含字符。 我的C#代碼:
string res = Regex.Match("[A-Za-z]*", this.Content, RegexOptions.Singleline).Value;
請幫我。 它不適合我。
您基本上就在那里。
您的正則表達式應為@"\\b[A-Za-z]+\\b".
然后,如果您想知道為什么沒有任何比賽。 這是因為您混合了輸入和模式參數:)
你要:
string res = Regex.Match(this.Content, @"\b[A-Za-z]+\b", RegexOptions.Singleline).Value;
不:
string res = Regex.Match(@"\b[A-Za-z]+\b",this.Content, RegexOptions.Singleline).Value;
:)
[A-Za-z] +觀看括號中任何事物的一個或多個發生。 *將匹配零個或多個事件。
另一種選擇(如果您還需要選擇其他單詞,可能會很有用)是匹配所有單詞並首先選擇:
new Regex(@"\b[A-Za-z]+\b").Matches("%!: Word Word=888 Word=AAA")[0]
將胡蘿卜^
添加到表達式的開頭以從開頭匹配,也就是第一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.