【发布时间】:2012-10-11 20:23:04
【问题描述】:
我在 php 中遇到了正则表达式的问题。
得到以下模式:^\s*(\d{8})\s+(.+?)\s+(\d+,\d{2})\s.?\s(.*)$
我的搜索字符串是这样的: 12345678 这是一个小产品说明,带有一些特殊字符,例如 ® 16,00 €,也许这里有一些文字
我使用这个 php 代码:
$regex = '/^\s*(\d{8})\s+(.+?)\s+(\d+,\d{2})\s.?\s(.*)$/';
echo preg_match($regex, $input);
但是没有匹配!
java 或 c# 中的相同正则表达式模式有效!你能解释一下我做错了什么吗?
这里有一些在线正则表达式测试器:
PHP:http://regexp-evaluator.de/evaluator/d721ca1ed32d76db960262ba7298cff3/#ergebnis
【问题讨论】:
-
你能发布实际的搜索字符串文本而不是它的图片吗?
-
是的,但是stackoverflow会修剪输入,并且字符串的开头和结尾有一些空格。
-
如果您咨询editing help page 或formatting reference provided while editing your question,您将能够防止这种情况发生。