当你理解时很容易......不幸的是,我没有!如果你能引导我到答案,我将非常感谢你,谢谢。
我想使用正则表达式捕获字符串,但删除括号内的任何文本。 e.g。
这是一个典型的字符串...
<td class="rc_entry_alt" >Mark Anthony (IRE)</td>
我很容易捕捉到“马克安东尼(IRE)”。我正在使用......
/<td class="rc_entry(_alt)?" >.*<\/td>/
我想要删除“(IRE)”。请注意第一个括号之前的前一个空格。我也想删除它。此外,(
和)
之间的文字也会有所不同,例如美国,ITY,FR等应该看起来像......
Mark Anthony
我毫不怀疑这很简单,但却让我望而却步。谢谢你的时间:))
n.b。括号中的东西并不总是存在。有时我会用我提到的原始代码得到我想要的东西。
答案 0 :(得分:1)
你的正则表达式会是这样的。真正的语法取决于您的编程语言/工具。
首先,您需要匹配<td ..>
部分。然后你将所有内容都归咎于(
。然后确保将括号中的所有内容与</td>
匹配。
/<td[^>].*>\([^(]*\)(.*)</td>/
你应该阅读杰弗里弗里德的书:掌握正则表达式。
答案 1 :(得分:0)
好的,首先删除HTML,然后执行类似的操作以删除(...)部分:
\s+\(.*?\)
如果你知道(...)部分是字符串中的最后一部分(即它后面没有任何内容),你可以使用它来检查它是否也在最后:
\s+\(.*?\)$
只需使用正则表达式查找和替换函数,找到上面的表达式,并替换为空。