2013-05-09 38 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

相关问题