我想匹配一個獨立的s
忽略大小寫。我不想匹配前面有撇號的s。我目前的正則表達式是/\b[s]\b/ig
,我的測試字符串是和第2行和第3行上的S
應該是唯一的匹配。Javascript正則表達式匹配獨立的S沒有匹配的撇號S
Men's
S
Just S Things
Somethings
Regexr:http://regexr.com/3geo2
我想匹配一個獨立的s
忽略大小寫。我不想匹配前面有撇號的s。我目前的正則表達式是/\b[s]\b/ig
,我的測試字符串是和第2行和第3行上的S
應該是唯一的匹配。Javascript正則表達式匹配獨立的S沒有匹配的撇號S
Men's
S
Just S Things
Somethings
Regexr:http://regexr.com/3geo2
一個trick你可以使用是一個非獲取和捕獲表達之間使用交替,然後在正則表達式匹配您的後加工,放棄比賽,唐沒有捕獲組。
正則表達式是:
/'s|(\bs\b)/ig
而且如果你用它做置換手術,這將是使用這樣的:
var str = "Men's\nS\nJust S Things\nSomethings";
var updatedStr = str.replace(/'s|(\bs\b)/ig,
(match, captureGroup) => captureGroup ? "<S>" : match
);
console.log(updatedStr);
你需要的是一個負回顧後,但JavaScript不支持它。一個便宜的方法是扭轉字符串,而不是反向預覽。例如,請參閱[這裏](https://stackoverflow.com/questions/641407/javascript-negative-lookbehind-equivalent)。 –
你可以嘗試'\ s + s \ s +' – MaxZoom
@MaxZoom你提交作爲答覆,而不是答案,但這似乎爲我工作!把它折起來作爲答案,這樣我可以適當地標記:D – yourfavorite