提问人:Sebők Attila 提问时间:11/7/2023 最后编辑:The fourth birdSebők Attila 更新时间:11/7/2023 访问量:56
JS中搜索词的正则表达式搜索数字或数字和空格到搜索词的长度。在这种情况下,如果有空格,则为 3-5 个字符
regex search digit or digit and space to length of search term in js. In this case, 3-5 characters, if there are spaces
问:
我从下面的列表中找到值“ddd”、“dsdd”、“ddsd”:“150 欧元 150 00 欧元 150 150 欧元 1 50 0 欧元”。
我试过了:
/(\d{3})|(\d+\s\d{1,2})/gm
测试结果:(粗体值不应匹配)
- 150
- 15 00
- 150
- 150
- 1 50
答:
1赞
The fourth bird
11/7/2023
#1
交替的第二部分仅匹配单个 whitspace 字符一次,并匹配 1 个或多个数字,并匹配 1 个或 2 个数字。\d+\s\d{1,2}
\d+
\d{1,2}
要匹配 3 位数字,第一位和第二位或第二位和第三位数字之间有一个空格字符,或者仅匹配 3 位数字:
\b\d(?:\s?\d|\d\s)\d
该模式匹配:
\b
防止部分单词匹配的单词边界\d
匹配数字(?:
备选方案的非捕获组\s?\d
匹配可选的 WhitSpace 字符,后跟数字|
或\d\s
匹配一个数字,后跟一个 whitspace 字符
)
关闭群组\d
匹配数字
观看正则表达式演示
评论
\d+(?: \d+)?
\d+(?:\s\d+)?
\b\d\s?\d\s?\d
regex101.com/r/gTmpvn/1 或 regex101.com/r/D4hmDJ/1\b\d(?:\s?\d|\d\s)\d