抱歉,您的问题很愚蠢,但我不是编码员/程序员。
因此,我想从任何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/