【问题标题】:Regex Expressions for Alphanumeric and Wild characters字母数字和通配符的正则表达式
【发布时间】:2014-09-23 09:06:07
【问题描述】:

我需要使用正则表达式模式验证/搜索/查找字符串如下:

1/0.abc
1/0.ABC
1/2/1.xyz
1/.ddd

有人可以帮我解决正则表达式模式吗

【问题讨论】:

  • 您需要多解释一下您的问题。在第一个 / 符号之前可能出现的字符是什么,以及在第一个 / 符号之后出现的字符是什么。以及允许多少个/ 符号?
  • Avinash - 所有可能的组合都在上面。在 / 之前和之后只允许使用数字作为路由器上的示例子接口值。谢谢

标签: regex alphanumeric


【解决方案1】:

我认为你需要这个:

^\d(?:\/\d)*\/?\.\w+$

这将使用任何类型的扩展验证您的字符串

在这里演示:http://regex101.com/r/qE7gK5/1

在java中:

^\\d(?:\\/\d)*\\/?\\.\\w+$

【讨论】:

  • 感谢 aelor,这个链接很有用。但是,正如我所见,这种模式对 php 有效。你能帮我弄一个能在java中使用的吗?
  • 不是很确定,但是双转义斜线同样的事情会起作用。我会检查并回复你
  • 谢谢@aelor,这会很有帮助
  • @BhavinBhatia 好吧,那是在 java 中吗?
  • 嗨,对于下面的正则表达式,如果 I/p 字符串是:1/0.101,它会将其识别为字母数字,但情况并非如此。 ^\\d(?:\\/\\d)*\\/?\\.\\w+$ 下一个:\\b(\\d+/)+\\d*\\.[A- Za-z]{4}\\b 迫使我在点后只使用 4 个字符,这不是我的要求。有人可以帮忙吗?预期结果应为:对于 - 1/0/1.101 或 1/1/1.22 或仅包含数字的任何内容应返回为非字母数字,并且如果任何包含单词/字母的内容需要标记为字母
【解决方案2】:

根据语言的不同,模式可能会有所不同。对于 JavaScript,以下模式 will work:

/(\d+\/)+\d*\.[a-z]{3}/ig

【讨论】:

  • 我想要这个在 java 中。谢谢 hjpotter92
  • @BhavinBhatia 对于 Java,模式字符串应为:"(\\d+\\/)+\d*\\.[a-z]{3}"
  • 你不需要转义正斜杠。
  • Java 正则表达式为:"\\b(\\d+/)+\\d*\\.[a-z]{3}\\b"
  • "^[0-9](?:\\/[0-9])*\\/?\\.\\w+$ - 这也有效:) 非常感谢为您提供宝贵的反馈意见
猜你喜欢
  • 2019-07-29
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 2016-09-01
  • 1970-01-01
  • 2013-04-17
  • 1970-01-01
相关资源
最近更新 更多