我正在尝试匹配字符和数字不能连接的字符串,如果你想使用连字符连接。
例如,这些都应该匹配:
- abc - 123 - 123 - * * *
- 123 -美国广播公司abc - * * *
- 123 - abc - 123 * * *
- 校正- 123 - * * *
- abc-efg - * * *
不匹配:
- abc123
- 123年美国广播公司(abc)
- 他们
- a1b2请帮我找一个javascript正则表达式
请帮我找一个javascript正则表达式。
我的正则表达式很复杂:
^([^d-]+|d+)(-([^d-]+|d+))*$
javascript中测试字符串是否匹配:
/^([^d-]+|d+)(-([^d-]+|d+))*$/gi.test('abc-123-123-***')
简单地测试从alpha到数字的转换,或者从数字到alpha的转换,并取其逻辑相反:
[
'abc-123-123-***',
'123-abc-abc-***',
'123-abc-123-***',
'abc-123-abc-***',
'abc-efg-***',
'abc123',
'123abc',
'abc1',
'a1b2',
].forEach(str => {
var ok = !/d[a-z]|[a-z]d/.test(str);
console.log(str, ' ==> ', ok);
});