在Rails中,对于作为主题标签的字符串,我想测试它是否有效(仅限字母数字和下划线)。但我事先并不知道第一个字符是#
我可以测试一下:
if (string.first == '#')
string.match(/^[#][\w]+$/)
else
string.match(/^[\w]+$/)
我如何制作正则表达式来进行匹配,但如果它是主角,则只允许#
字符?
答案 0 :(得分:2)
正则表达式中有?
个量词,表示zero or one occurrence
。因此,您的正则表达式转换为:
string.match(/^#?\w+$/)