简单的符号正则表达式解决方案

时间:2015-03-02 04:28:15

标签: ruby regex string

我正在看的问题是只有输入带有'+'符号的输入才能覆盖字符串中的任何字母,所以就像“+ d ++”或“+ d + == + a +”但不是

"f++d+"
"3+a=+b+"
"++d+=c+"

我尝试使用正则表达式来解决这个问题,因为它是一种字符串模式匹配问题。 /(+[a-z][^+])|([^+.][a-z]+)//但这并不包括字母位于字符串开头或结尾的模式。我需要更全面的帮助。

2 个答案:

答案 0 :(得分:0)

您应该尝试以下

/^\+{0,2}[a-z0-9]+\+{0,2}(=*\+{0-2}[a-z0-9]+\+{0,2})*$/

答案 1 :(得分:0)

您可以使用以下正则表达式。

^(?:[^\w\n]*\+[a-z]+\+)+[^\w\n]*$

DEMO

如果您还要匹配+f+g+,请将以下+置于正向前瞻断言中。

^(?:[^\w\n]*\+[a-z]+(?=\+))+[^\w\n]*$

DEMO