【发布时间】:2016-07-04 18:11:30
【问题描述】:
我使用正则表达式模式我 preg_match php 函数。该模式假设为'/abc$/'。它匹配两个字符串:
'abc'
和
'abc
'
第二个在其末尾有换行符。只匹配第一个字符串的模式是什么?
'abc'
【问题讨论】:
标签: php regex string line-breaks pcre
我使用正则表达式模式我 preg_match php 函数。该模式假设为'/abc$/'。它匹配两个字符串:
'abc'
和
'abc
'
第二个在其末尾有换行符。只匹配第一个字符串的模式是什么?
'abc'
【问题讨论】:
标签: php regex string line-breaks pcre
/abc$/ 匹配"abc\n" 和"abc" 的原因是$ 匹配字符串末尾的位置,或者(即使没有/m 修饰符)在换行符之前的位置字符串的结尾。
您需要以下正则表达式:
/abc\z/
其中\z 是字符串的明确非常 结尾,或者
/abc$/D
/D 修饰符将使$ 的行为方式与\z 相同。见PHP.NET:
可以通过在编译或匹配时设置
PCRE_DOLLAR_ENDONLY选项来更改美元的含义,使其仅匹配字符串的末尾。
【讨论】: