MVC C#单正则表达式验证花括号和尖括号

时间:2017-07-22 18:36:00

标签: c# asp.net regex validation

我正在尝试为我的一个项目创建一个微调器,并且我有一个文本区域,如果花括号被关闭且文本没有尖括号,我想验证文本。

到目前为止,我可以检查文本是否在[^<>]*

中有任何尖括号

我有这个字符串{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}{?!}}\}是我的正则表达式。

我需要一个可以用花括号验证的正则表达式,并且不允许使用尖括号。请原谅我的英语不好。感谢

1 个答案:

答案 0 :(得分:2)

您希望匹配包含{} OR {...}子字符串以外的字符的字符串,但这些字符串也不能匹配<和{{1} } chars。

您可以使用

>

请参阅regex demo

匹配:

  • ^(?:[^<>{}]|{[^<>{}]*})*$ - 字符串开头
  • ^ - 启动非捕获组
    • (?: - 除[^<>{}]<>{
    • 之外的任何字符
    • } - 或
    • | - {
    • { - 除[^<>{}]*<>{
    • 以外的0个字符
    • } - }字符
  • } - 重复群组模式0+次
  • )* - 字符串结束。