2015-11-18 44 views
2

美好的一天。
我正在嘗試編寫匹配點字符或行首的文本的正則表達式。所以我試過這個:如何在字符類中使用脫字符號來匹配正則表達式中的行首

(?<=[^\.]). 

顯然,這不是我想要的。問題是我不知道如何指定字符類中的脫字符號,意思是行的開頭,而不是否定
P.S.我正在使用.Net Regee。
請給我一些建議。

+3

字符類是用於字符的。你可以使用替代'(?<=^| \。)。' – Mariano

+0

這就是我想要的。謝謝。 – tchelidze

+1

一行的開始或者是在\ r' /'\ n's之後或者在字符串開始處。你最好使用捕獲組機制而不是使用lookbehind作爲lookarounds來降低性能:['(?:^ | [\ r \ n] + | [。])(。)'](http://regexstorm.net /tester?p=(%3f%3a%5e%7c%5b%5cr%5cn%5d%2b%7c%5b.%5d)(.)&i=Some+.NET+code%0d%0aMore+text)。 –

回答

1

A character class只接受字符。像^這樣的錨在角色類中被解釋爲具有不同的含義。

但是,您可以使用alternation來指定不同的選項:

(?<=^|\.) 

匹配當光標通過或先:

  • ^開頭的行
  • \.字面上點

注意:如果您通過標誌RegexOptions.Multiline,則定位符^與該行的開頭匹配。如果未指定此標誌,則^僅與字符串的開頭匹配。

相關問題