法语字符的正则表达式无法根据法语字符的位置进行验证
Regex for french characters fails validation based on the position of french character
在我的代码中,我有一个密码正则表达式(由某人编写)
(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\x20-\x7E]{8,40}$/
) 不支持法语字符。
我对其进行了一些修改以支持法语字符。和
/^(?=.*[a-z])(?=.*[A-Z])(?:.*[àâäæèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]*)(?=.*\d)[\x20-\x7E]{8,40}$/
是新的正则表达式。但是这个没有按预期工作。行为随着法语字符的位置而改变。
例如NewàTest123! - 作品和 NewTàest123!不工作
有没有想过为什么当角色位置改变时它会失败?
工作正则表达式:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\x20-\x7EàâäæèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]{8,40}$
感谢@Wiktor Stribiżew
在我的代码中,我有一个密码正则表达式(由某人编写)
(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\x20-\x7E]{8,40}$/
) 不支持法语字符。
我对其进行了一些修改以支持法语字符。和
/^(?=.*[a-z])(?=.*[A-Z])(?:.*[àâäæèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]*)(?=.*\d)[\x20-\x7E]{8,40}$/
是新的正则表达式。但是这个没有按预期工作。行为随着法语字符的位置而改变。
例如NewàTest123! - 作品和 NewTàest123!不工作
有没有想过为什么当角色位置改变时它会失败?
工作正则表达式:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\x20-\x7EàâäæèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]{8,40}$
感谢@Wiktor Stribiżew