regex 标记的验证程序模式< speak>

sxissh06  于 2023-06-25  发布在  其他
关注(0)|答案(3)|浏览(81)

在angular formarray中,我对输入字段使用了验证器。对于一个字段,我使用正则表达式检查<speak>标记。

这是有效内容。

按照图案投掷错误。
但是它应该抛出错误,即使它没有任何内容的标签,甚至它有空的空间。

下面是我用于验证

的正则表达式
我需要对正则表达式模式做什么修改。谢谢

apeeds0o

apeeds0o1#

好的,你可以试试这个

/<speak>[^\s][^.]+[^\s]<\/speak>/gi
kxkpmulp

kxkpmulp2#

你的正则表达式说
<speak ="<speak"
\s* =任意数量的空格(包括0)
> =">"
\s* =任意数量的空格(包括0)
.* =任意数量的字符(包括0
<\/speak> ="""
要确保标记之间至少有一个非空格字符,可以将其更改为:
<speak\s*>\s*[^\s]+<\/speak>
我们将.*替换为[^\s]+
[^\s]表示空间以外的任何值,+表示1次或更多次
更新:
因为你是从字符串创建RegExp,所以你需要转义特殊字符:
Validators.pattern("<speak\\s*>\\s*[^\\s]+<\\/speak>")

lawou6xi

lawou6xi3#

如果标记中的内容不是一个或多个空白字符,则需要匹配。

<speak\s*.*>\s*[^\s]+</speak>

相关问题