使用RegEx

时间:2015-12-01 20:29:03

标签: regex

这是我的简单文本文件:

1. Text About Question 1 
2. Text About Question 2
.
.
20. Text About Question 20

我有250个文本文件,所有文件只有20个问题,我想将这些文件转换为xml,在每个数字的开头添加“question”标签,所以它们看起来像:

<question>1. Text About Question 1 
<question>2. Text About Question 2
.
.
<question>20. Text About Question 20<question>

我试过这个正则表达式:copy(\ d {1}。)替换\ 1只能在1到9之间生效.10之后它除了数字

1<question>0. Text About Question 10

作为第二种方式,这个正则表达式:(\ d {2}。)仅在10到20之间生效。所以它看起来像:

1. Text About Question 1 
2. Text About Question 2
.
.
<question>20. Text About Question 20</question>

我无法继续(\ d {1}。)因为这个正则表达式将相同的标签添加到10到20之间的数字,看起来像:

<question>1. Text About Question 1 </question>
<question>2. Text About Question 2</question>
.
.
<question><question>20. Text About Question 20</question>

是否有正确的方法使用正则表达式将每个问题从1添加到20?

1 个答案:

答案 0 :(得分:1)

您希望匹配1到20之间的所有数字。以下是

的正则表达式
^[1-9]\.$|^1[0-9]\.$|^20\.$

击穿

^ - 行首

[1-9] - 1到9之间的任何数字。不包括注释0

\. - 在一段时间之前逃脱角色。否则它将匹配任何字符

$ - 正则表达式结束

| - 或

^1[0-9]\.$ - 从1开始,介于10到19之间。

|^20\.$ - 或以20开头和结尾。