我想将以下str拆分为一个包含2个元素的数组,第一个是“句子中的某些单词”,第二个是“ABC”,其中ABC可以是任何大写字符。
const str = 'Some words in a sentence (ABC)';
const regex = ?
const arr = str.split(regex);
...
expect(arr[0]).to.eq('Some words in a sentence');
expect(arr[1]).to.eq('ABC');
expect(arr.length).to.eq(2);
任何想法都会受到赞赏。
干杯,
保
答案 0 :(得分:2)
正则表达式的技巧是将其分解为步骤。
(<-- between these -->)
)\((.*?)\)$
(转义()&#39; s (.*?)
<子>解释子>
/---\ is the \((.*?)\)$
Some words in a sentence (ABC)
^---- (.*?) ----^
这应该会让你朝着你想要的方向前进,最后一部分是你要弄明白的。)
答案 1 :(得分:0)
转到https://regex101.com/并尝试此
/(.*)\(([A-Z]{3})\)
/
用你的字符串
'Some words in a sentence (ABC)'
你会得到
Match 1
Full match 0-30 `Some words in a sentence (ABC)`
Group 1. 0-25 `Some words in a sentence `
Group 2. 26-29 `ABC`