正则表达式匹配英语和非英语字符

时间:2013-12-19 14:03:20

标签: javascript regex

我正在尝试匹配包含英语和非英语字符但不包含纯数字(包括小数)的句子。

示例 - 应匹配::

Renforcé-Bettwäschegar BLUMIRA123

不匹配::

999.99

以下代码匹配ASCII字符中未包含的所有内容 -

[^\u0000-\u0080]+

这就是我现在所拥有的一切。任何帮助将不胜感激。

谢谢。

4 个答案:

答案 0 :(得分:2)

首先,我假设您已将文本拆分为句子。然后试试这个:

!/(?:^| )[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

答案 1 :(得分:1)

这应该可以解决问题

!/^[0-9.]+$/.test(s)

请注意,它只匹配数字和小数,所以你需要否定它(!)

答案 2 :(得分:1)

看看是否有效:

.*([a-zA-Z].*[àáâäåÀÁÂÃçÇêéëèÊËÉÈïíîìÍÌÎÏñÑöòõóÓÔÕÖÒšŠúüûùÙÚÜÛÿŸýÝžŽ]|[àáâäåÀÁÂÃçÇêéëèÊËÉÈïíîìÍÌÎÏñÑöòõóÓÔÕÖÒšŠúüûùÙÚÜÛÿŸýÝžŽ].*[a-zA-Z]).*

答案 3 :(得分:0)

感谢您的投入。以下正则表达式似乎对我有用。

^([x00-\xFF]+[a-zA-Z][x00-\xFF]+)*
相关问题