【发布时间】:2011-05-04 18:41:30
【问题描述】:
我需要一个允许除 HTML 标记之外的任何内容的正则表达式。这里的诀窍是允许 字符 ,但它们之间不能有文本(但其他字符也可以)。
允许以下:
hello world
!@$%^&*()_+'":;[]{}()\|#
<<<<<<<
>>>>>
<>
><
<087>
<-->
以下不允许
<html>
<a>
<foo>
<bar>
我尝试了几种表达方式,但都没有成功。事实证明这比起初看起来要困难得多(无论如何对我来说:P)
编辑:基本上,任何内容都是允许的,除了:< 和 > 字符之间的 A-Z 和 a-z。
【问题讨论】:
-
“出乎意料地比起初看起来更难” - 这是有原因的。请在RegEx match open tags except XHTML self-contained tags 上查看已接受的答案
-
什么语言?如果是 PHP,我会将您的字符串与 strip_tags(your_string) 进行比较。最难的部分不是写正则表达式,而是写下每一个可能的标签。