Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用正则表达式在Ruby中检测具有特殊字符的文本?_Ruby_Regex - Fatal编程技术网

如何使用正则表达式在Ruby中检测具有特殊字符的文本?

如何使用正则表达式在Ruby中检测具有特殊字符的文本?,ruby,regex,Ruby,Regex,在Ruby中,我希望检测诸如“feed”或“f”之类的关键字,后跟空格或特殊字符 我做了这样的事情: if m = (/\A(feedback|feed|f)\s*([A-Za-z0-9_#;\s\?@&'"()]*)\z/i.match(command)) puts m[2] end 然而,这并不像预期的那样有效。匹配这些关键字的最佳正则表达式是什么?这应该可以匹配关键字后面的任何内容: /\A(feedback|feed|f)(.*)\z/ 这应该可以匹配关键字之后的任何内容

在Ruby中,我希望检测诸如“feed”或“f”之类的关键字,后跟空格或特殊字符

我做了这样的事情:

if m = (/\A(feedback|feed|f)\s*([A-Za-z0-9_#;\s\?@&'"()]*)\z/i.match(command))
  puts m[2]
end

然而,这并不像预期的那样有效。匹配这些关键字的最佳正则表达式是什么?

这应该可以匹配关键字后面的任何内容:

/\A(feedback|feed|f)(.*)\z/

这应该可以匹配关键字之后的任何内容:

/\A(feedback|feed|f)(.*)\z/
我的建议

/\Af(eed(back)?)?\W+\z/
我的建议

/\Af(eed(back)?)?\W+\z/

什么不起作用?请提供不起作用的示例。你试图解决什么问题?另外,一个你期望发生的具体例子会很有帮助。我希望m[2]在feed之后有完整的消息,比如说,如果把“feed some message with special@charecter“s”,然后期望m[2]是->feed some message with special@charecter”sweel,所以你基本上想匹配关键字后面的任何内容,包括关键字?排除关键字,对不起,之前我犯了一个错误,我希望m[2]返回->带有特殊@charecter的消息“什么不起作用?请提供不起作用的示例。你试图解决什么问题?另外,一个你期望发生的具体例子会很有帮助。我希望m[2]在feed之后有完整的消息,比如说,如果把“feed some message with special@charecter“s”,然后期望m[2]是->feed some message with special@charecter”sweel,所以你基本上想匹配关键字后面的任何内容,包括关键字?排除关键字,对不起,之前我犯了一个错误,我希望m[2]返回->一些带有特殊@charecter的消息