正则表达式接受-字符

本文关键字:-字符 正则表达式 | 更新日期: 2023-09-27 17:54:21

我目前有一个正则表达式来验证我的应用程序中的字段,它看起来像这样:

^(?:(?:'w|[-])+'.(?:(?:(?:'w|[-])+|'.))*(?:'/(?:'w|[-])*)*|'w*)$

不幸的是,这在某些方面不起作用。

  • aaa - pass - Correct

  • aaa。aaa - pass - 正确

  • aaa。aaa-aaa - pass - 正确

  • aaa-aaa——失败——

我如何能够更改正则表达式以使最后一个场景通过?

正则表达式接受-字符

第一个'.导致最后一个表达式失败。因为有更多的组,所以表达式的第一部分必须匹配。

如果点是可选的,表达式就可以工作。

不确定,但也许你可以这样简化表达式:

[A-Za-z]+(['-'.][A-Za-z]+)*