我收到了一个字符串:
"1|2 3 4 oh 5 oh oh|e eewrewr|7|".
我想获取第一个管道(|)之间的数字,返回“2 3 4 5”。
任何人都可以帮助我使用正则表达式吗?
答案 0 :(得分:8)
这有用吗?
"1|2 3 4 oh 5 oh oh|e eewrewr|7|".split('|')[1].scan(/\d/)
答案 1 :(得分:6)
Arun's answer是完美的。 即
"1|2 3 4 oh 5 oh oh|e eewrewr|7|".split('|')[1].scan(/\d/)
# Will return ["2", "3", "4", "5"]
"1|2 3 4 oh 55 oh oh|e eewrewr|7|".split('|')[1].scan(/\d/)
# Will return ["2", "3", "4", "5", "5"]
如果你想要数字,
# Just adding a '+' in the regex:
"1|2 3 4 oh 55 oh oh|e eewrewr|7|".split('|')[1].scan(/\d+/)
# Will return ["2", "3", "4", "55"]
答案 2 :(得分:0)
如果您只想使用正则表达式...
\|[\d\s\w]+\|
然后
\d
但这可能不是最好的解决方案