2017-10-16 45 views
0

我在使用PCRE中的正则表达式验证智能RUT/RUN时遇到问题。我的下一个正则表达式,但遗憾的是不能让它工作:智能RUT/RUN与PCRE的正则表达式

\b[0-9|.]{1,10}\-[K|k|0-9] 

我需要帮助,看看有什么是错的代码。我只需要使用的应用程序使用PCRE。

谢谢。

+0

该模式有什么问题?什么是模式要求?顺便说一句,[检查此](http://regexlib.com/REDetails.aspx?regexp_id=2444)。 –

+0

[你的正则表达式是一个有效的正则表达式](https://regex101.com/r/2Us0j6/1)。 –

+0

是的!我之前检查过这个URL,但可惜它没有起作用(看起来它不是PCRE兼容)。当我尝试使用之前发布的正则表达式时,应用程序告诉我“正则表达式无效”,这使我无能为力。 数目必须是8或9个字符,最后一个字符可以是从0到9或K.一些实例是: 10.000.000-0 9.343.154-K 17.878.335 -2 最后一个数字用连字符与其他数字分隔。 –

回答

0

您可以使用

^(\d{1,3}(?:\.\d{1,3}){2}-[\dkK])$ 

匹配和捕捉(即通常是不必要的,但你的应用程序需要捕获组以提取其内容)与模式匹配整个字符串。请参阅regex demo

要匹配匹配较大的字符串里面这种模式的短字符串,你可能会删除^$(见demo),或使用\b单词边界,而不是(见this demo)。

详细说明:

  • ^ - 串的开始
  • \d{1,3} - 1至3位数
  • (?:\.\d{1,3}){2} - 的字面. 2个序列和1至3个数字
  • - - 连字符
  • [\dkK] - 一个数字,kK
  • $ - 字符串结尾。