我有这个java正则表达式。
InitializeComponent(); <--- !!!
{
textBox1.Text = ("Enter the path to a JPEG image file:");
...
}
注意...... java
我试图匹配整个单词k或K而不是公斤或公里。 IVe尝试了\\ bk \\ b但在线测试人员显示不匹配。是否与方括号有关。
提前谢谢
答案 0 :(得分:1)
除了目前您的模式在任何字符之前匹配k
或K
之外,它与£1k
之类的值不匹配,因为+
量词需要另一个数字, k
或K
之前的点或逗号。
另请注意,[\\b]
与字边界不匹配,只与b
字母匹配。
在\b
和[\\d\\,\\.]+
之间加[k|K]
并不是一个好主意,因为.
/ ,
和{{1}之间始终存在单词边界数字和k
之间没有字边界。
您需要使用
k
<强>详情
Pattern regex = Pattern.compile("(£\\d[\\d,.]*)[kK]\\b");
- 第1组:
(£\\d[\\d,.]*)
- 一个英镑符号£
- 数字\\d
- 零个或多个数字,[\\d,.]*
或,
.
- [kK]
或k
K
- 一个单词边界(\\b
或k
后必须有字符串结尾或非单词字符