Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Vim正则表达式从小写字符拆分行_Regex_Vim - Fatal编程技术网

Regex Vim正则表达式从小写字符拆分行

Regex Vim正则表达式从小写字符拆分行,regex,vim,Regex,Vim,我试图从文本中分离标题,标题和文本的第一段是内联的 <p>GUSLÜN SÜNNETLERİ VE BAZI İNCELİKLERİ Gusle niyet ederek, Besmele ve misvâk ile başlamak. Evvelâ elleri, oyluk yerlerini yıkamak, bedende meni vesâire eseri varsa gidermek.</p> 例外的结果是 <p> <h2>GUSL

我试图从文本中分离标题,标题和文本的第一段是内联的

<p>GUSLÜN SÜNNETLERİ VE BAZI İNCELİKLERİ Gusle niyet ederek, Besmele ve misvâk ile başlamak. Evvelâ elleri, oyluk yerlerini yıkamak, bedende meni vesâire eseri varsa gidermek.</p>
例外的结果是

<p>
<h2>GUSLÜN SÜNNETLERİ VE BAZI İNCELİKLERİ</h2>

Gusle niyet ederek, Besmele ve misvâk ile başlamak.Evvelâ elleri, oyluk yerlerini yıkamak, bedende meni vesâire eseri varsa gidermek.</p>

GUSLÜN SÜNNETLERİVE BAZIİNCELİKLERİ
Gusle niyet ederek,Besmele ve misv–k ile başlamak,Evvel–elleri,oyluk yerlerini yıkamak,bedende meni ves–ire eseri varsa gidermek

提示:查找最后出现的大写单词,也可以帮助我。

试试这个

%s!\v((<[ABCÇDEFGĞHIİJKMLMNOÖPRSŞTUÜVYZÎÂÛ]{2,}>{-1,}\s*)+)\s+(.*)$!<h2>\1</h2>\r\r\3!g
%s\v({-1,}\s*)+)\s+(.*)$\1\r\r\3!G
什么是“非unicode字符”?也许你想编辑这个问题

(.*)$
中的
$
是冗余的,因为
*
是贪婪的。由于您最终将
\2
放在替换模式的末尾,因此可以通过根本不捕获和替换第二部分来简化命令:

:s!<pattern>!<h2>\1</h2>\r\r!
要查找一行中的最后一个大写单词,请尝试

 /\v.*\zs<[A-ZÇĞİÖŞÜÎÂÛ]{2,}
:s!\v((<[A-ZÇĞİÖŞÜÎÂÛ]{2,}>{-1,}\s*)+)\s+!<h2>\1</h2>\r\r!
 /\v.*\zs<[A-ZÇĞİÖŞÜÎÂÛ]{2,}
:help /\k
:help 'iskeyword'
:help /[]
:help /\zs
:help pattern