从字符串中查找锡号

时间:2016-10-08 17:19:55

标签: java regex

我想从特定模式的字符串中找到锡编号,其中锡编号以8或9

开头
scanf

我试过了,但是它会返回不以8或9开头的锡号

input:
sample1="passport=11231&tin=91312312313&dl=12313"
sample2="tin=81312312314&dl=12313&passport=11231"
sample3="dl=12313&passport=11231&tin=71312312313"

Expected output:
91312312313
81312312314
false

Current output:
91312312313
81312312314
71312312313

编辑:请注意,锡号也可以包含a-zA-Z,但始终以数字开头

2 个答案:

答案 0 :(得分:2)

这样简单的事情
tin=[89]\d*

如果您想在群组中使用此号码

tin=([89]\d*)

如果值不需要只保留数字而不是\d,那么您可以使用[^&$]甚至[^&],因为我看不到$ tin=([89][^&$]*) 1}}在你的例子中。

Executors.newFixedThreadPool(numberThreads)

答案 1 :(得分:0)

尝试:

tin=((?=8|9).*?)[$&]

Explanation