BBEdit Grep / Regex在破折号后找到并替换零件

时间:2018-08-16 20:28:39

标签: regex grep bbedit

当我想查找并删除以短划线(-)开头的部分以及“文章编号”列中的所有内容之后,正则表达式应该是什么样?

我正在使用BBEdit搜索和替换制表符分隔的CSV文件中的字符串(以下示例)。

"Article number"    "Name"  "Third Column"
"Shorts Artic"  "Swa..."    "2018-07-28"
"Shorts Artic-1"    "Swa..."    ""
"Shorts Artic-2-1"  "Swa..."    "https://test-domain.com/..."
"Shorts Artic-2-2-1"    "Sw..." ""
"Shorts Artic-2-2-2-2-1"    "Ba..." "-asd"
"Shorts Artic-2-2-2-2-2-1"  "Nus..."
"Shorts Artic-2-2-2-2-2-1-1"    "Lek.."
"0858-1"    "Jacket Blue.."
"0858-2-1"  "Jacket Re.."
"0858-2-2-1"    "Int..."
"0858-2-2-2-1"  "In..."
"0858-2-2-2-2-1"    "Int..."
"0858-2-2-2-2-2-1"  "Int..."
"0858-2-2-2-2-2-2-1"    "Int..."
"0858-2-2-2-2-2-2-2-1"  "In..."
"0858-2-2-2-2-2-2-2-2"  "In..."
"0858-2-2-2-2-2-2-2-1"  "In..." "6 107-124 cm"
"stl 31-35-1-1-1-1-2-2-2-1-1"   "In..."

"Shorts Artic-1"会变成"Shorts Artic"

"Shorts Artic-2-2-1"会变成"Shorts Artic"

"0858-2-2-2-2-2-2-2-2"会变成"0858"

1 个答案:

答案 0 :(得分:1)

您可以使用以下模式:

("[a-zA-Z 0-9]+)(?:-\d)+(?=")
  • ("[a-zA-Z 0-9]+)匹配并捕获",字母字符,空格和数字。
  • (?:-\d)+非捕获组。重复匹配并捕获-和数字。
  • (?=")正向"前进。

替换为:

 \1

您可以尝试模式here


对于更新后的文本文件,您可以使用:

^"((?:[a-zA-z]+ ?)+|[0-9]+)(?:-?\d)+(?=")

替换为:

"\1

您可以尝试模式here