用于在单词之间查找逗号的正则表达式

时间:2017-05-12 17:21:42

标签: regex grep

用于在单词之间查找逗号的所有实例(没有尾随空格)的正则表达式是什么?例如" someword,otherword"

我在Eclipse的搜索工具中使用了这种模式:

ADOQuery1.Parameters.ParamValues['value']:= '%bob%';

完美无缺,但当我使用grep之类的相同模式时:

([^,\n\s']),([^,\n\s\)\]'])
它找不到任何东西。我做错了什么?

3 个答案:

答案 0 :(得分:1)

使用字词边界\b

echo "abc,def ghi, jkl" | grep '\b,\b'

(找到第一个逗号,但不是第二个逗号)

答案 1 :(得分:0)

([^,\n\s']),([^,\n\s\)\]'])传递给grep是一个字符串文字搜索,您需要将其放在单引号或双引号中以使其成为正则表达式搜索"([^,\n\s']),([^,\n\s\)\]'])"

答案 2 :(得分:0)

使用grep此模式应该有效:

grep -nHIir -- "[^,'[:space:]],[^],)[:space:]']"
  • 使用[:space:]匹配任何空格,包括换行符
  • 重要的是不要在否定的字符类中转义]。只需将它放在第一个位置。
  • 避免不必要的分组
  • 您甚至不需要为此
  • 扩展正则表达式风格