【发布时间】:2014-03-28 15:33:21
【问题描述】:
我一直在思考这个问题,但仍然无法弄清楚。正则表达式向前/向后看。无论如何,我不确定在我的情况下使用哪个,我仍然无法理解这个概念。举个例子吧。
我有一个名字....My Business, LLC (Milwaukee,WI)_12345678_12345678
我想做的是,如果名称中有逗号,无论有多少,都将其删除。同时,如果名称中没有逗号,仍然读取该行。下面列出了我的单线。
s/(.*?)(_)(\d+_)(\d+$)/$1$2$3$4/gi;
我想从 $1(My Business,LLC (Milwaukee,WI)) 中删除任何逗号。如果每次都是这种情况,我可以将正则表达式中的逗号称为文字字符串((.?),(.?),(.*?)(_.*?$)) ,但事实并非如此。
我希望它省略逗号并匹配“My Business, LLC_12345678_12345678”或仅匹配“My Business_12345678_12345678”,即使没有逗号。 在任何情况下,我都希望它与行匹配,无论逗号与否,并删除任何逗号(如果有),无论有多少或在哪里。
如果有人能帮助我理解这个概念,那将是一个突破!
【问题讨论】:
标签: regex lookahead lookbehind