问:使用正则表达式删除内容

Q: Remove content using regex

本文关键字:删除 正则表达式      更新时间:2023-09-26

嗨,我只想使用正则表达式删除内容

这是我的正则表达式代码:

reg = reg.replace(/'|.*?('|)/g, '');

输入:

One-1|two-2|Three-3|Four-4|Five-5
Six-6|Seven-7|Eight-8|Nine|Ten-10
Eleven-11|Twelve-12|Thirteen-13|Fourteen-14|Fifteen-15
Sixteen-16|Seventeen-17|Eighteen-18|Nineteen-19|Twenty-20

结果:

Three-3
Eight-8
Thirteen-13
Eighteen-18

已编辑:请在此处更正我的正则表达式:https://regex101.com/r/yP3qD9/1 突出显示将被删除。

您可以使用以下内容,

string.replace(/.*?'|([^|]*)'|[^|]*'|[^|]*$/m, '$1')

m多行修饰符是必须需要的,

  1. 锚点用于正则表达式中。
  2. 并且输入至少包含一个换行符。

演示

我认为数组操作会更好

var string = 'One-1|two-2|Three-3|Four-4|Five-5';
var arr = string.split('|');
var part = arr[Math.floor(arr.length/2)]

演示:小提琴


正则表达式可能看起来像

'One-1|two-2|Three-3|Four-4|Five-5'.replace(/^(.*?'|){2}|('|[^|]*){2}$/g, '')

演示:正则表达式

相关文章: