0
我在使用PCRE中的正则表达式验证智能RUT/RUN时遇到问题。我的下一个正则表达式,但遗憾的是不能让它工作:智能RUT/RUN与PCRE的正则表达式
\b[0-9|.]{1,10}\-[K|k|0-9]
我需要帮助,看看有什么是错的代码。我只需要使用的应用程序使用PCRE。
谢谢。
我在使用PCRE中的正则表达式验证智能RUT/RUN时遇到问题。我的下一个正则表达式,但遗憾的是不能让它工作:智能RUT/RUN与PCRE的正则表达式
\b[0-9|.]{1,10}\-[K|k|0-9]
我需要帮助,看看有什么是错的代码。我只需要使用的应用程序使用PCRE。
谢谢。
您可以使用
^(\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]
- 一个数字,k
或K
。$
- 字符串结尾。
该模式有什么问题?什么是模式要求?顺便说一句,[检查此](http://regexlib.com/REDetails.aspx?regexp_id=2444)。 –
[你的正则表达式是一个有效的正则表达式](https://regex101.com/r/2Us0j6/1)。 –
是的!我之前检查过这个URL,但可惜它没有起作用(看起来它不是PCRE兼容)。当我尝试使用之前发布的正则表达式时,应用程序告诉我“正则表达式无效”,这使我无能为力。 数目必须是8或9个字符,最后一个字符可以是从0到9或K.一些实例是: 10.000.000-0 9.343.154-K 17.878.335 -2 最后一个数字用连字符与其他数字分隔。 –