(1)复制过来的代码
本来行号都是在开头的,但是被idea编辑器调整了。这样适用范围更广,就按这样做例子了。
01 public void run() {
02 try {
03 while (!Thread.interrupted()) {
04 selector.select();
05 Set selected = selector.selectedKeys();
06 Iterator it = selected.iterator();
07 while (it.hasNext())
08 dispatch((SelectionKey) (it.next()));
09 selected.clear();
10 }
11 } catch (IOException ex) { /* ... */
12 }
13 }
(2)正则表达式
1.一般的表达式:[ ]*[0-9]{1,2}
[ ] 表示匹配内容是单个空格,[] 匹配单个字符而范围是内部的字符集,* 表示匹配个数是0个或多个;
[0-9] 表示匹配内容是单个数字,0-9表示由0到9这10个数字组成的字符集,{1,2} 表示匹配个数是1个或2个。
这样的话,会把前面的空格也替换掉,我只想替换行号。
2.添加分组:([ ]*)([0-9]{1,2})
每个()内是一组,组号从1开始数。组号0代表全部匹配内容。
用 $组号,如:$1 来获取原先的内容。
(3)使用效果
idea测试:
实际用的时候,把$1行号改成$1 就行了
也可以在菜鸟工具里测试效果
https://c.runoob.com/front-end/854
用到的代码
(1)
01 public void run() {
02 try {
03 while (!Thread.interrupted()) {
04 selector.select();
05 Set selected = selector.selectedKeys();
06 Iterator it = selected.iterator();
07 while (it.hasNext())
08 dispatch((SelectionKey) (it.next()));
09 selected.clear();
10 }
11 } catch (IOException ex) { /* ... */
12 }
13 }
(2)
([ ]*)([0-9]{2})
(3)
$1序号