【问题标题】:Pattern matching in Java for alphabets and numbersJava中字母和数字的模式匹配
【发布时间】:2015-10-05 12:30:27
【问题描述】:

我正在做一个简单的模式匹配,但它不起作用。请帮忙

字符串是:

The number *TER8347834SC* has problems.

字符串包含一个数字TER8347834SC,它可能会随着不同的消息而改变,所以我需要在比较字符串时使用正则表达式来匹配这个数字。因此,在比较字符串时,我将正则表达式用作 [A-Z0-0] 来表示不匹配的 TER8347834SC

我知道这很简单,但我尝试了很多次,请帮助我。

【问题讨论】:

  • [A-Z0-0] ???我猜你的意思是[A-Z0-9]+(即范围 0-9 而不是 0-0 以及大于 1 的字符串长度)

标签: java regex string-matching


【解决方案1】:

你的意思是这样,

"\\b[A-Z0-9]+\\b"

请注意,\\b 字边界是非常需要的。

【讨论】:

  • 成功了。谢谢,我试过\\b,但最后没有使用+。所以它没有工作。
【解决方案2】:

试试这个:

([A-Z]+[0-9]+)

【讨论】:

    【解决方案3】:

    如果消息始终与您提到的相同,则您的模式应该像这样

    String pattern = "The number (.*) has problems.";
    

    【讨论】:

    • 或更准确地说:String pattern = "The number *(.*)* has questions.";
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多