我正在尝试为我的一个项目创建一个微调器,并且我有一个文本区域,如果花括号被关闭且文本没有尖括号,我想验证文本。
到目前为止,我可以检查文本是否在[^<>]*
我有这个字符串{hello|hi|hey} arbaz, {how are you?|how you doing}
我想验证花括号是否正确关闭。例如,字符串不能
{{hello|hi|hey}} arbaz, {{how are you?|how you doing}}
OR
{{hello|hi|hey} arbaz, {how are you?|how you doing}}
它不能用大括号括起来。
到目前为止, \{{?>\{{?<c>}|[^{}]+|\}{?<-c>}}*{?{c}{?!}}\}
是我的正则表达式。
我需要一个可以用花括号验证的正则表达式,并且不允许使用尖括号。请原谅我的英语不好。感谢
答案 0 :(得分:2)
您希望匹配包含{
和}
OR {...}
子字符串以外的字符的字符串,但这些字符串也不能匹配<
和{{1} } chars。
您可以使用
>
请参阅regex demo
匹配:
^(?:[^<>{}]|{[^<>{}]*})*$
- 字符串开头^
- 启动非捕获组
(?:
- 除[^<>{}]
,<
,>
和{
}
- 或|
- {
{
- 除[^<>{}]*
,<
,>
和{
}
- }
字符}
- 重复群组模式0+次)*
- 字符串结束。