标签: regex
我需要创建一个如下所示的正则表达式验证规则:
仅包含字母数字
可以-,_和/
-
_
/
开头可以有一个空格,最后可以有很多
可以混合符号
例如:
aaa-bbb/ccc aaa 1223/aaa-bbb aaa-bbb-ccc
我尝试使用以下代码,它不适用于混合符号和-。知道如何处理吗?
@"^((?:/[a-za-z0-9]+)+/?|/?(?:[a-za-z0-9]+/)+)[a-za-z0-9]*$"
答案 0 :(得分:1)
此正则表达式适用于您:
/^ ?[a-zA-Z0-9_\/-]+ *$/gm
Demo。这样做可以完全满足你的要求。
答案 1 :(得分:1)
Here是对你的正则表达式的分析。正如你所看到的那样,它太复杂了,远不及你想要的东西。
假设我正确地解释了你的条件,那么你的基本正则表达应该看起来像:
@"^[a-zA-Z0-9/_-]+$"
就是这样。它仅包含字母数字,还允许-,_和/,允许使用混合符号。我担心我在条件3中不知道你的意思,但可能只是在\s?和^之后\s*之后添加$。
\s?
^
\s*
$