RegEx仅标记之间的文本

时间:2016-06-15 09:43:33

标签: php regex removing-whitespace

我需要解决的问题是:

(<.*?>\s*)([^<.*?>]*\S\s*?)(\s*?<.*?>)

只有文本在一个组中(没有空格)并在标记(<...> <...>)之间查找?例如:RegTest

1 个答案:

答案 0 :(得分:0)

这是一个有效的通用正则表达式

(?<=<)[^>]*

(?<=<)这是一个后视断言。基本上,它只匹配前一个字符是&#39;&lt;&#39;

[^>]*这符合所有内容,直到&#39;&gt;&#39;。或者,您可以使用[^\r\n]确保您不进行多行匹配。

编辑:

替代正则表达式

(?<=<)[^>]+这阻止它匹配零长度字符串,即&lt;&gt;不符合

(?<=<)[^>\n\r]+这会阻止它跨越新行和零长度字符串进行匹配。

(?<=<)[^>]*这符合&#39;&lt;&#39;之间的所有内容。和&#39;&gt;&#39;