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

时间:2015-03-20 03:46:09

标签: javascript jquery regex

您好我只想使用正则表达式删除内容

这是我的正则代码:

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突出显示将被删除..

2 个答案:

答案 0 :(得分:0)

我认为数组操作会更好

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

演示:Fiddle


正则表达式看起来像

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

演示:RegEx

答案 1 :(得分:0)

您可以使用以下内容,

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

m多线修改器是必须要的,

  1. 在您的正则表达式中使用锚点。
  2. 并且输入包含至少一个换行符。
  3. DEMO