我试图匹配包含英文和非英文字符但不包含纯数字(包含小数)的句子。正则表达式匹配英文和非英文字符
例子 - 应该匹配::
Renforcé-Bettwäschegar BLUMIRA123
不匹配::
999.99
下面的代码相匹配,这不是包含在ASCII字符的一切 -
[^\u0000-\u0080]+
这是我现在所拥有的一切。任何帮助都感激不尽。
谢谢。
我试图匹配包含英文和非英文字符但不包含纯数字(包含小数)的句子。正则表达式匹配英文和非英文字符
例子 - 应该匹配::
Renforcé-Bettwäschegar BLUMIRA123
不匹配::
999.99
下面的代码相匹配,这不是包含在ASCII字符的一切 -
[^\u0000-\u0080]+
这是我现在所拥有的一切。任何帮助都感激不尽。
谢谢。
感谢您的输入。下面的正则表达式似乎为我工作。
^([x00-\xFF]+[a-zA-Z][x00-\xFF]+)*
你确定吗?它看起来不符合你所描述的内容。这将匹配只包含ASCII字符的行开头的任何文本,中间有一个英文字母,而不是开头或结尾。文本不必包含重音字母。 – mtanti
看看这工作(的!):
.*([a-zA-Z].*[àáâäåÀÁÂÃçÇêéëèÊËÉÈïíîìÍÌÎÏñÑöòõóÓÔÕÖÒšŠúüûùÙÚÜÛÿŸýÝžŽ]|[àáâäåÀÁÂÃçÇêéëèÊËÉÈïíîìÍÌÎÏñÑöòõóÓÔÕÖÒšŠúüûùÙÚÜÛÿŸýÝžŽ].*[a-zA-Z]).*
首先,我假设你已经将你的文本分割成句子。那就试试这个:
!/(?:^|)[0-9]+(?:\.[0-9]+)?(?: |$)$/.test(sentence);
例如,这是每个下面句子的返回结果:
Renforcé-Bettwäschegar BLUMIRA123 //true
999.99 //false
Another test //true
Hi this is a test 124 //false
Hi this is a test 124.23 //false
因此,它应该符合其中至少包含一个英文字母([A-ZA-Z])和一个重音/音调符号的字母([àáâäåÀÁÂÃçÇêéëèÊËÉÈïíîìÍÌÎÏñÑöòõóÓÔÕÖÒšŠúüûùÙÚÜÛÿŸýÝžŽ])的字符串?是否需要非ASCII字符? – mtanti
mtanti - 感谢您的评论。不需要非ASCII字符。谢谢。 –