我是正则表达式的新手。 我只是想知道这是否可行。(如果解释混乱或太复杂,我很抱歉) 说,我只是想以粗体找到并替换这个特定的标题:
"如第1章所述,财务报表的用户可以归类为资源提供者。 (空间)(空间)用户和决策(空间)(空间)这方面的一个例子。 (空间)(空间)财务分析(空间)(空间)的性质和目的我们已经确定财务分析在财务报表中以相对的方式表达报告的数字。 "
到此:
"如第1章所述,财务报表的用户可以归类为资源提供者。
(新行)用户和决策(标签空间)这方面的一个例子。
(新行)财务分析的性质和目的(标签空间)我们已经确定财务分析以相对的方式表达财务报表中的报告数字。 "
由于我对正则表达式的了解目前有限,我尝试将其分解为两部分:
1
。找到"。的(空格)(空间)自然" :
[(。)] \ S \ S [(A-Z)] \ W +
到\ n $&
2。找到" 分析(空间)(空间)我们" :
的 [(A-Z)] \ W + \ S \ S [(A-Z)]
到了??
所以,我的问题是,是否可以只定义1个正则表达式
。 (空间)(空间)用户和决策(空间)(空间) An
。 (空间)(空间)财务分析(空间)(空间)的性质和目的我们
并用上面的例子代替它?
谢谢!
PS。这种奇怪的编辑背后的原因是将其作为txt上传到anki flashcard软件而无需进一步编辑。
如果我要从厚厚的教科书中编辑整个文本(我的章节可以包含1000多个x20左右的章节x5教科书等等),那么我现在的方法可能会非常费力。
fyi,在anki和其他几个flashcard软件中,tab是前面/问题和后面/答案之间的字段分隔符。
当使用查找和替换时,双空格[] []用于将特定标题与单个空格分开;这是我事先预先设定的。
新线(\ n)用于添加新的独立抽认卡。
Anki(以及其他一些flashcard软件)支持html所以我通常通过使用记事本++复制pdf中的文本来添加多张卡片并且正则表达式找到并替换句子的几个标题或第一个单词以适应问题/前面的部分anki闪卡,其余成为答案部分;然后将其导入anki。 如果可以自动化所有查找部分,我可以节省大量时间!
答案 0 :(得分:1)
经过谷歌搜索和修补一段时间后,我想我终于找到了答案! :D
[] {2,}([A-Z])[\ w] {1,} [] {2,}
替换为
的 \ n $的&安培; \吨\吨强>
从以下方面汲取灵感:
Regex for multiple words split by spaces
Python regex: Including whitespace inside character range
http://www.rexegg.com/regex-quickstart.html
和@ Jan的回答
答案 1 :(得分:0)
我看到你正在尝试将单词组合与大写字母匹配,在单词之间有一个空格,并用两个空格块包围。
这是一个满足这些条件的regfex:
/[^\S\r\n]{2,}[A-Z]\w*(?:[^\S\r\n]\w+)*[^\S\r\n]{2,}/g
请参阅regex demo(替换为\n$&\t\t
)
请注意[\w ]{1,}
将匹配单词字符或空格1次以上,并且可以在单词之间允许多于1个空格。但是,如果您需要匹配一行上的最后 2空间块,则可能会更好。请注意,您需要在上述模式中的第二个+
之后添加[^\S\r\n]
。