使用Regexp查找/替换文本

时间:2016-08-04 17:16:14

标签: javascript regex

我需要删除大量文本,或者简单地用""替换。

以下是文字的摘录

  1. $prep->bindValue(':PYOtherExpensesAmt',$summaryData['*PYOtherExpensesAmt*'])?$row['PYOtherExpensesAmt']:''));

  2. $prep->bindValue(':CYOtherExpensesAmt',$summaryData['*CYOtherExpensesAmt*'])?$row['CYOtherExpensesAmt']:''));

  3. 我需要替换以?$row开头并以))结尾的文本块。

    所以第一个替换的例子是:

    • $prep->bindValue(':PYOtherExpensesAmt',$summaryData['PYOtherExpensesAmt']);

    我尝试过以下正则表达式:

    ([?][$row], [))])

    有关如何删除这些文本块的任何提示都是正则表达式吗?

1 个答案:

答案 0 :(得分:3)

这是一个符合您的模式的正则表达式:

\?\$row.*?\)\)

说明:反斜杠(\)将转义前面的字符,以便引擎按字面意思搜索该字符。这是必需的,因为?$)在regexp语法中已经具有特殊含义。最后,.*?部分意味着它将匹配"懒惰"中任何字符(*)的零个或多个(.)个实例。方式(?),因此停在第一个))。学习正则表达式语法的绝佳资源:regular-expressions.info

然后,正如您猜测的那样,您应该用空字符串替换所有匹配项以删除它们。