匹配多次出现或一次出现特定的char

时间:2017-10-25 14:09:20

标签: regex

我想写一个正则表达式,它匹配任何字母数字字符或单个连字符最大值的无限次出现 例如

ab+c应匹配

ab++c不匹配

abcd应匹配

abc+应匹配

+abcd应匹配

你可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

使用此正则表达式结束 [\w]*\+?[\w]*

谢谢你!

答案 1 :(得分:0)

根据使用情况和具体要求,有一些选项可供选择,因为它们并非全部存在于原始问题中。

注意连字符(或其复数形式的连字符)此后应引用+字符(按照OP在原始问题中的定义)

代码

以下选项允许使用多个连字符,但是会阻止两个连字符相互重复。

选项1

~116步

See this regex in use here

^(?:(?!\+{2})[[:alnum:]+])+$

此正则表达式允许使用字母数字或+字符,但是否定两个连字符的背靠背匹配。

选项2

~66步

See this regex in use here

^\+?(?:[[:alnum:]]+\+?)+$

此正则表达式允许在开头使用可选的连字符,然后是以下一个或多个组{一个或多个字母数字字符,后跟连字符}