javascript - 在查找和替换中使用正则表达式提取除模式/字符串之外的所有内容

标签 javascript regex string amazon

抱歉,您的问题很愚蠢,但我不是编码员/程序员。

因此,我想从任何Amazon URL中提取所谓的ASIN。
我找到了这个:
 scrape ASIN from amazon URL using javascript

给我正则表达式:(“ /([[a-zA-Z0-9] {10})(?:[/?] | $)”)

当我在Excel中使用它时,这已经对我有很大帮助(它可以工作)。

但是,我还必须使用另一个工具,该工具只能使用“查找和替换”来编辑文本。我可以使用正则表达式,但是该工具将始终替换正则表达式的结果。

因此,当我使用/([a-zA-Z0-9] {10})(?:[/?] | $)时,该工具将准确找到我要查找的字符串,然后将其替换为空白或任何其他内容我输入了替换字段。

我的问题:

当我必须使用“查找并替换”时,正则表达式必须如何显示?我假设它应该匹配/找到任何东西,但ASIN /字符串,然后将其替换为空白。在一天结束时,应删除/替换ASIN以外的所有内容。

输入示例:https://www.amazon.de/gp/product/ B00ZFWRGXC / ref = br_asw_pdt-1?pf_rd_m = A3JWKAKI7XB7XF&pf_rd_s = desktop-6&pf_rd_r = BKAKXRSA7JM715TZ38YN&pf_rd_t = 36701&pf_rd_p = e54c-1f0d847

我只想保留粗体部分(通过“查找并替换”)。

我已经研究了几个小时,并且阅读了很多有关该主题的主题,但是我始终无法获得所需的结果。

所以,我希望有人可以在这里帮助我...谢谢!

最佳答案

您可以使用基于交替的正则表达式,其中一个分支匹配并捕获所需的内容,而另一个将仅匹配所有不以序列开头的文本。



/([a-zA-Z0-9]{10})|(?:(?!/[a-zA-Z0-9]{10}).)*


并替换为$1\n。为了使其更好地工作,请确保.匹配换行选项(如果存在)已打开。如果不存在,请用.替换[\s\S]

细节:


/([a-zA-Z0-9]{10})-匹配/并捕获10个字母数字符号
|-或
(?:(?!/[a-zA-Z0-9]{10}).)*-任何不以/开头的0+字符,后跟10个字母数字符号。


$1是一个反向引用,用于还原结果中捕获组的内容(10个字母数字符号)。

关于javascript - 在查找和替换中使用正则表达式提取除模式/字符串之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39067655/

相关文章:

php - unicode 模式下的 preg_split : delim_capture not working?

C#获取正在运行的应用程序列表及其路径以进行字符串扫描

java - 如何在java中使用有时会更改为CSV格式的模式来格式化大字符串

javascript - 保存时输出始终返回未定义

javascript - 如何使用 web3 js 在 uniswap 上交换 token

javascript - addEventListener 在 appendChild 之后不起作用

javascript - 字符串操作,删除字符直到 Java 脚本中第二次出现

javascript - 是否有可以通过帐号确定运输公司的正则表达式模式?

regex - 如何在groovy/gradle中使用正则表达式替换csv中的文本?

python 字符串删除字符串中的 1 个制表符