MVC C# 单个正则表达式来验证花括号和尖括号
Posted
技术标签:
【中文标题】MVC C# 单个正则表达式来验证花括号和尖括号【英文标题】:MVC C# single regex to validate curly braces and angle brackets 【发布时间】:2017-12-28 16:51:16 【问题描述】:我正在尝试为我的一个项目制作微调器,并且我有一个文本区域,如果大括号闭合且文本没有尖括号,我想验证文本。
到目前为止,我能够检查文本中是否存在带有[^<>]*
的尖括号
我有这个字符串hello|hi|hey arbaz, how are you?|how you doing
我想验证花括号是否正确关闭。例如字符串不能是
hello|hi|hey arbaz, how are you?|how you doing
或
hello|hi|hey arbaz, how are you?|how you doing
不能用大括号括起来。
\?>\?<c>|[^]+|\?<-c>*?c?!\
到目前为止是我的正则表达式。
我需要一个正则表达式,它可以使用花括号进行验证,并且不允许使用尖括号。请原谅我英语不好。谢谢
【问题讨论】:
您是否正确,您想要匹配包含除
和
或...
子字符串以外的字符的字符串,并且这些都不能匹配<
和@ 987654331@?试试^(?:[^<>]|[^<>]*)*$
见here
@WiktorStribiżew 非常感谢您的评论,它就像我想要花括号一样工作。您能否添加以检查是否存在 html 标签,例如 <>
谢谢
通过链接查看我上面的评论。 <hello>|hi|hey arbaz, how are you?|how you doing
不匹配,因为字符串包含 <
(和 >
,但它已经不重要了)
【参考方案1】:
您希望匹配包含除 和
或
...
子字符串以外的字符的字符串,并且这些字符都不能匹配<
和>
字符。
你可以使用
^(?:[^<>]|[^<>]*)*$
见regex demo
匹配:
^
- 字符串开头
(?:
- 非捕获组的开始
[^<>]
- 除 <
、>
、
和
之外的任何字符
|
- 或
- 一个
[^<>]*
- 除了<
、>
、
和
之外的 0+ 个字符
- 一个
字符
)*
- 重复组模式 0+ 次
$
- 字符串结束。
【讨论】:
非常感谢您的快速帮助。上帝保佑。 如果<...>
在...
之外,那么它应该会报错。
@ArbazAbid 目前,该模式不允许在任何地方使用<
和>
。
实际上它允许..当我在大括号外写 <>
时。它允许它。
@WiktorStribiżew:实际上我是在客户端检查,而不是在服务器端检查。非常感谢您的简短解释。现在我正在检查服务器端并且工作正常。再次感谢以上是关于MVC C# 单个正则表达式来验证花括号和尖括号的主要内容,如果未能解决你的问题,请参考以下文章