2个正则表达式?我不明白

时间:2013-11-03 11:52:13

标签: regex

我有2个正则表达式?我不明白。我可以用PHP或JavaScript来完成它们。

第一个是,

php > echo preg_replace("/o?/","X","bar");
XbXaXrX

> "bar".replace(/(o?)/g,"X")
'XbXaXrX'

第二个是,

php > echo preg_replace("/(foo)?/","X","foo");
XX

> "foo".replace(/(foo)?/g,"X")
'XX'

谢谢,

1 个答案:

答案 0 :(得分:0)

问号只是意味着之前的0或1倍。

如果是"bar".replace(/(o?)/g,"X"),它将替换所有 o 并且没有任何内容,所以在每个字母之后都没有被 X 替换。

如果是"foo".replace(/(foo)?/g,"X"),它会将 foo X 相关联,然后将 X 再次删除。

我希望有所帮助。