条件正则表达式 - Javascript
conditional regex - Javascript
我想删除包含 6 到 8 位数字的数字,所以我使用的正则表达式是:
\b\d{6,8}
它工作正常,但是,如果我有两个数字用下划线 (_) 分隔,例如 1234567890_12345678901234567890
我也想删除它。
我必须使用 \b(边界)。
对我来说这似乎是一个条件:
匹配 6 到 8 位数字之间的数字,但如果您看到用下划线分隔的两个数字也将匹配它们(无论每个数字中的位数是多少)。
match: 12345678
match: 12345678934567_1234567890123456789
match: 123_23
no match: 12345
我需要一个处理这两种情况的正则表达式。
非常感谢。
尝试以下操作:
\b(?:\d{6,8}|\d+_\d+)\b
它只是 6 到 8 位数字或任何 number_number。
Click here 观看实际效果。
你可以用这个
^(\d+_\d+)|(\d{6,8})$
这个正则表达式包含两部分:
(\d+_\d+)
涵盖带有“_”符号的案例;
(\d{6,8})
涵盖其他案例
你也可以试试这个:
\b\d+(?:\d{4,6}|_)\d+\b
如果您想允许多个 _
个字符,试试这个:
\b\d+(?:\d{4,6}|_[\d_]*)\d+\b
第二个也会匹配这个:12345678934567_1234567890_123456789
我想删除包含 6 到 8 位数字的数字,所以我使用的正则表达式是: \b\d{6,8}
它工作正常,但是,如果我有两个数字用下划线 (_) 分隔,例如 1234567890_12345678901234567890 我也想删除它。 我必须使用 \b(边界)。
对我来说这似乎是一个条件:
匹配 6 到 8 位数字之间的数字,但如果您看到用下划线分隔的两个数字也将匹配它们(无论每个数字中的位数是多少)。
match: 12345678
match: 12345678934567_1234567890123456789
match: 123_23
no match: 12345
我需要一个处理这两种情况的正则表达式。
非常感谢。
尝试以下操作:
\b(?:\d{6,8}|\d+_\d+)\b
它只是 6 到 8 位数字或任何 number_number。
Click here 观看实际效果。
你可以用这个
^(\d+_\d+)|(\d{6,8})$
这个正则表达式包含两部分:
(\d+_\d+)
涵盖带有“_”符号的案例;(\d{6,8})
涵盖其他案例
你也可以试试这个:
\b\d+(?:\d{4,6}|_)\d+\b
如果您想允许多个 _
个字符,试试这个:
\b\d+(?:\d{4,6}|_[\d_]*)\d+\b
第二个也会匹配这个:12345678934567_1234567890_123456789