正则表达式 - 保持/删除相同的字符

时间:2015-05-04 17:28:06

标签: regex

我想删除撇号'但只有支架之间的那些。

我的例子是这样的:

'keep apostrophes' ('remove apostrophes')

我这样做:

[^a-z()\s]

然后删除所有撇号。我不知道如何将所有内容组合在一起。

2 个答案:

答案 0 :(得分:2)

请尝试以下模式:

\('([^']+)'\)

后引用$ 1将被删除撇号。

Regular expression visualization

工作示例@ regex101

更新#1

要完成第二个请求,请使用以下模式:

'([^']+)'\s*(?=(?:\sand|\sor|\)))

Regular expression visualization

工作示例@ regex101

注意

  • 使用正面预测以准确匹配'words''()'的所有外观
  • 此任务使用正则表达式是过度的。 (您使用什么编程语言来执行此任务?)

答案 1 :(得分:1)

'(?=[^(]*\))

你可以在这里使用lookahead。参见demo。替换empty string

https://regex101.com/r/uE3cC4/28