2013-05-09 42 views
-3

是否可以使用正則表達式來搜索某個人的姓名。說如果我輸入'fb'它會匹配單詞'foobar'?正則表達式:包含序列中任何匹配字母的文本

+3

*爲什麼會匹配foobar?由於FooBar? – h2ooooooo 2013-05-09 12:45:26

+3

您的匹配條件是什麼?如果其他人進入'noname'會發生什麼? – Bill 2013-05-09 12:45:47

+0

所以基本上,如果一串字母串以正確的順序排列 – 2013-05-09 12:47:56

回答

1

是的,你可以通過使用.*以前所有單詞匹配序列中的任何信件。

所以,你的情況這將是.*f.*b


.*可能導致案件回溯的很多,你有兩個以上的詞,如果有多個這樣的words.You可以改用.*?這將延遲匹配,從而避免回溯

0

有很多方法可以回答這個問題。

  • [fb](f|b)將匹配或者是任何字符fb;
  • f+b+將匹配以f開頭且在換行符前有b的任何內容;
  • 最重要的是,做你自己的作業。閱讀一些關於正則表達式的好書或網站。
0

您可能會用到:f\w+b\w+。請記住使用「忽略大小寫」選項。這也可以通過在正則表達式的開始處添加(?i)來實現。

Example with Regexp Debugger

相關問題