正则表达式:文字后跟一个或多个数字

时间:2018-01-11 01:48:04

标签: regex

我想搜索文字美国后跟一个数字,重复一次或多次,然后除了短划线之外的任何内容。例如,这些应匹配:

US3.
US22?
US134!

而这些不是

US5-
US66-
US789-

我试过了

r'US[0-9]+(?=[^-])'

但它也匹配

'US6', 'US78'

如何修改此内容?

3 个答案:

答案 0 :(得分:1)

在匹配字符类中的数字后提及字符列表。

正则表达式: US\d+[?!&%.]

<强> Regex101 Demo

答案 1 :(得分:0)

我不确定这是否是绝对的最佳方式,但如果您知道每行只有一个,那么您只需添加一个{ {1}}这样的积极前瞻:

$

Regexr.com example

答案 2 :(得分:0)

您必须提及允许的字符类中的字符列表。

我已附上输出截图,您可以验证它!

US[0-9]+[?!&%.]

Api:Environment.getExternalStoragePublicDirectory(String type)