我想显示一个警告,当输入错误的标签时警告用户:
,
<b></>
=>false<b>hello</>
=>true<a >link</>
=>false<a https://www.google.com></>
=>假<a https://www.google.com>link</>
=比;真正的
这些是我的规则:
const rules = [
[/<right>([^<]*)(</>)?/g],
[/<center>([^<]*)(</>)?/g],
[/<left>([^<]*)(</>)?/g],
[/<a ([^>]*)>([^<]*)</>?/g],
[/<([^>]*)>([^<]*)</>/g],
];
您可以使用(考虑到string
是您的文本):
:
!!string.match(/<[^>]*>.+<[^>]*>/)
假:
!!string.match(/<[^>]*><[^>]*>/)
这将适用于你的情况,但如果它是更复杂的东西,你需要使用递归模式(这在JS中是不可用的)-如果你想使用严格的正则表达式。
对于确切的用例——像这样的东西应该可以工作:
const rules = [
[/<right>.+(?<!>)<[^>]*>/g],
[/<center>.+(?<!>)<[^>]*>/g],
[/<left>.+(?<!>)<[^>]*>/g],
[/<as+[^>]*>.+(?<!>)<[^>]*>/g],
[/<[^>]*>.+(?<!>)<[^>]*>/g],
];