我有(大量)输入,这些输入是句子/项目符号列表,如下所示:
Broker and broker´s fees: 不適合
Specific purpose or use for the present acquisition or disposal: 因應內部管理需要,調整投資架構
Other issues to be disclosed: 無
为了“翻译”中文文本,我想以正则表达式的方式创建对象,以便以后可以根据其内容对第二个捕获的组进行变换。
我认为类似以下的方法会起作用:
Specific_purpose = /(Specific purpose or use for the present acquisition or disposal: )([.]+)(\n)/
Other_issues = /(Other issues to be disclosed: )([.]+)(\n)/
即此正则表达式应由捕获的组1(英文标题),捕获的组2(中文部分)和捕获的组3,即表示对象结束位置的新行组成。
仍然,代码不起作用,我什至无法让Ruby在输入中找到所需的对象。例如,如果我添加:
if input.include? Specific_purpose.to_s
puts "Yes, I found such bullet "
else
puts "No, there is no such bullet"
end
无论我如何重写正则表达式,我都会不断收到“不,没有这样的子弹”。
我在这里做错什么了吗?如何创建一个匹配所有行的正则表达式,直到换行?
答案 0 :(得分:0)
由于您的行包含一个冒号,冒号也充当英语和中文文本的分隔符,因此您可以使用此正则表达式捕获第1组中的英语,并使用第2组中的中文来捕获文本。尝试使用此正则表达式,
(.+):\s+(.+)
让我知道您是否遇到任何问题。