1

我正在寻找一个正则表达式,用于在整个输入字符串(包括开头和结尾)中分别替换“word”、“overflow”为“word”和“overflow”之类的单词。

我正在使用 PHP 和 preg_replace。并且需要在按空格分割字符串并进一步过滤之前检测这些单词。当时的任何组合都不会产生应有的结果。

提前致谢!

4

2 回答 2

0

这个很难,因为:什么是词?什么是词的一部分?

in cr e di ble和有什么不同it is a dog

要使用正则表达式,您需要设置规则,例如:

  • 单词之间和单词部分之间可以有多少个空格?
  • 一个词可以分成多长的部分?
  • 字符串中的所有单词都分为几部分?

如果您不能确定这些规则中的任何一条,那么您就无法编写能够解决问题的正则表达式。将单词与字典进行比较以了解它们是否有效应该更有用。

于 2012-11-23T10:23:42.697 回答
0
$ string = "w o r d", "o v e r f low"
$ echo 'word w o r d' | sed '/\([^ ][^ ]\)[ ]/s::\1\n:g ' | sed '/[ ]\([^ ][^ ]\)/s::\n\1:g' | sed ':r /\([^ ]\)[ ]/s::\1: ; tr' | sed 'H; ${x;/\n/s:: :g;sc[ ]cc;p};d'
于 2012-11-23T10:36:53.007 回答