【发布时间】:2013-08-26 11:54:41
【问题描述】:
我正在为我的问题寻找正则表达式。 我有一段文字(产品规格),例如:
length: 20cm; height: 10cm; «Night» mode: yes; manufacturer : Sony© manual : yes
最终的结果应该是这样的
<tr><td>length</td><td>20cm</td></tr>
...
<tr><td>manufacturer</td><td>Sony©</td></tr>
所以我应该将":" + whitespace characters(\s*) 替换为"</td><td>" 和";" + whitespace characters(\s*) 替换为"</td></tr><tr><td>",但在; 之前有拉丁符号[a-z]+ 和& 符号的情况下不应该。
关键在于像 &_nbsp; 这样的 html 字符。 &_laquo; &_copy 等包含“;”
换句话说,:\s* 而不是&[a-z]+[;]。
我该怎么做?
我在 smarty 中的正则表达式如下所示: " |regex_replace:"/[:]\s*/":""|regex_replace:"/[;]\s*/":"" " 所以唯一的事情就是删除 html 字符...我尝试了一些组合与 (?!...) 但没有成功 我正在寻找这样的东西 RegExp for matching three letters, but not text "BUY"
【问题讨论】:
-
请注意,
regex标签还声明:还请包含一个标签,指定您正在使用的编程语言或工具。
标签: php javascript regex html-parsing smarty