java中只有正则表达式,而没有待匹配的字符。该怎么获取匹配结果?

方正
  • 483

使用Java语言,只给你一个正则表达式,想获取该正则表达式能匹配上的结果。

例如:
这里只给你一个abc\w,而没有待匹配的字符串(abcd123,abc6.........)
按正常逻辑,abc\w会匹配到abc0,abc1,abc2.........等等这样的字符。
而现在我只有abc\w,想要得到abc0,abc1,abc2,abc3..........这些结果。
有什么解决方案?

正则表达式范围:
1,不包括汉字
2,应该是字母数字下划线之类的组合

回复
阅读 2.5k
1 个回答
非墨
  • 2.1k
✓ 已被采纳

这是什么怪需求?要写这么个程序?如果是面试题或课本题,要求举几个例子倒不难,就是 abc[a-zA-Z_0-9],翻译成人的语言就是 abc 后跟字母、数字和下划线,我想是考 \w 吧?


如果是程序:

Map<String, String[]> map = new HashMap();
map.put("\\w", new String[]{"a", "b", "c"}; // 多的我就不写了
map.put("\\d", new String[]{"0", "1", "2"}; // 同上
for (Map.Entry<String, String[]> et : map) {
    // 懒得写了,遍历搜索字符串吧,循环套循环呗,把所有可能都打印出来
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏