ABC1000000 - valid
3212130000 - valid
0000000000 - valid
ABC1000100 - invalid
0001000000 - invalid
不经过验证的regex将如下所示-[A-Z0-9]{10}
,确保它是10个字符。
0
,后面不是0
我用JS编写它,因为它更容易测试,但它也可以在其他语言中工作。注意:它不检查长度,但这个regex非常容易,将它与长度检查结合起来就可以了。
如果regex匹配,则字符串无效:)在控制台中,我已经对其进行了否定,以告诉您它是否有效:
const strings = [
'BC1000000',
'3212130000',
'0000000000',
'ABC1000100',
'0001000000',
'1000000000',
'10000000000',
'1000000001'
];
strings.forEach(element => {
console.log(
element,
// true means length 10 and only trailing zeros
!/0[^0]/.test(element) && element.length == 10
)
});
问题内容: 我正在尝试匹配模式: 以下仅匹配第一次出现的情况: 结果是: 但是,[使用pythex似乎可以正常工作](http://pythex.org/?regex=%3C–(%5B%5Cw%5Cs%5D%2B)–%3E(%5B%5Cs%5CS%5D*%3F)(%3F%3D%5Cn%3C–%7C%24)&test_string=%3C–%20Option%201%20–%3E%0ANice%20
我如何定义一个regex来实现这一点? 提前谢了。
所需匹配: 这个regex只匹配字符串第一个实例之后的所有内容: 思想?
问题内容: 我有一个字符串,其结构类似于:。每次来自外部源的字符串都可能有所不同。 我只想替换第一次出现的而不是其他的。可能吗? 问题答案: preg_replace的可选第四个参数是: