在查找和替换中使用正则表达式来提取除 pattern/string 之外的所有内容
Use regex in Find & Replace to extract everything but a pattern/string
我想从任何亚马逊 URL 提取 ASIN。我找到 this,给我以下正则表达式:
/([a-zA-Z0-9]{10})(?:[/?]|$)
这个表达式在 Excel 中对我有用。但是,我还使用了另一种工具,我只能使用 Find & Replace 编辑我的文本。我可以使用正则表达式,但该工具将始终替换我的正则表达式的结果。
当我使用上面的表达式时,该工具将准确找到我要查找的字符串,但随后会将其替换为空白或我在替换字段中输入的任何内容。
当我必须使用“查找和替换”时,正则表达式必须如何查看?我假设它应该 match/find 除了 ASIN/string 之外的任何东西,然后将其替换为空白。归根结底,除 ASIN 外,所有内容都应 deleted/replaced。
示例输入:
我只想保留粗体部分(通过查找和替换)。
您可以使用基于交替的正则表达式,其中一个分支匹配并捕获您需要的内容,而另一个将只匹配所有未开始序列的文本。
使用
/([a-zA-Z0-9]{10})|(?:(?!/[a-zA-Z0-9]{10}).)*
并替换为 \n
。为了让它更好地工作,请确保 .
匹配换行选项(如果存在)已打开。如果不存在,请将 .
替换为 [\s\S]
。
详情:
/([a-zA-Z0-9]{10})
- 匹配一个 /
并捕获 10 个字母数字符号
|
- 或
(?:(?!/[a-zA-Z0-9]{10}).)*
- 不以 /
后跟 10 个字母数字符号开始的任何 0+ 字符。
是一个反向引用,用于恢复结果中捕获组(10 个字母数字符号)的内容。
/([A-Z0-9]{10})|(?:(?!/[A-Z0-9]{10}).)*
或
/([a-zA-Z0-9]{10})/|(?:(?!/[a-zA-Z0-9]{10}/).)*
会修复它。
我想从任何亚马逊 URL 提取 ASIN。我找到 this,给我以下正则表达式:
/([a-zA-Z0-9]{10})(?:[/?]|$)
这个表达式在 Excel 中对我有用。但是,我还使用了另一种工具,我只能使用 Find & Replace 编辑我的文本。我可以使用正则表达式,但该工具将始终替换我的正则表达式的结果。
当我使用上面的表达式时,该工具将准确找到我要查找的字符串,但随后会将其替换为空白或我在替换字段中输入的任何内容。
当我必须使用“查找和替换”时,正则表达式必须如何查看?我假设它应该 match/find 除了 ASIN/string 之外的任何东西,然后将其替换为空白。归根结底,除 ASIN 外,所有内容都应 deleted/replaced。
示例输入:
我只想保留粗体部分(通过查找和替换)。
您可以使用基于交替的正则表达式,其中一个分支匹配并捕获您需要的内容,而另一个将只匹配所有未开始序列的文本。
使用
/([a-zA-Z0-9]{10})|(?:(?!/[a-zA-Z0-9]{10}).)*
并替换为 \n
。为了让它更好地工作,请确保 .
匹配换行选项(如果存在)已打开。如果不存在,请将 .
替换为 [\s\S]
。
详情:
/([a-zA-Z0-9]{10})
- 匹配一个/
并捕获 10 个字母数字符号|
- 或(?:(?!/[a-zA-Z0-9]{10}).)*
- 不以/
后跟 10 个字母数字符号开始的任何 0+ 字符。
是一个反向引用,用于恢复结果中捕获组(10 个字母数字符号)的内容。
/([A-Z0-9]{10})|(?:(?!/[A-Z0-9]{10}).)*
或
/([a-zA-Z0-9]{10})/|(?:(?!/[a-zA-Z0-9]{10}/).)*
会修复它。