我的数据:
abc3# de2! fghi1?
我需要的是一个RegEx,它将提取位于数字(1,2或3)之后的符号,以便匹配为:#
,!
,{{1} }
我已经研究过非捕获组等但无法使其正常工作:?
答案 0 :(得分:1)
正则表达式或多或少是正确的,我使用
\d([^\w\s]+)
然后你需要使用RegExp#exec
:
var re = /\d([^\w\s]+)/g; // Declare the regex
var str = 'abc3# de2! fghi1?';
var res = [];
while ((m = re.exec(str)) !== null) { // find a match
res.push(m[1]); // Get the captured value only
}
document.body.innerHTML = "<pre>" + JSON.stringify(res, 0, 4) + "</pre>";
正则表达式匹配
\d
- 数字([^\w\s]+)
- 一个匹配1 +非字和非空白符号的捕获组。如果您想确保仅匹配“字词”或字符串的末尾,则可以使用/\d([^\w\s]+)(?=\s|$)/g
正则表达式。
答案 1 :(得分:0)
您需要\d(\W)
来捕获数字后的符号,请参阅live demo
答案 2 :(得分:0)
Capturing symbol after n
number of digits:
yourDataFrame <- yourDataFrame %>% mutate(is_a = (x=='A')||(y=='A'))
Extracting the symbol from string in JavaScript:
\d([\:#!\?])
Removing all occurrences of symbol in a string:
var symbol = /\d([\:#!\?])/.exec('kljl2324?')[1];