正则表达式在字符串的第n个字符处或之前查找空格

我需要在字符串的第n个字符处或之前找到空格字符.

例如,假设字符串中的n为20:

Find one space in the right place
^         ^       ^ ^
0         10      M 20

h位于第20位,在这种情况下,我需要找到第20个位置之前的第一个空格,第18个位置中的“the”之前的第一个空格,就在M之上.

我可以使用积极的lookbehinds找到第n个角色

(?<=.{80}).

但后来我需要回去,直到找到第一个太空人物并且我不知道如何.

我正在使用不支持可变长度lookbehinds的记事本,如果可能的话我想要一个允许我在记事本中使用正则表达式的答案.谢谢.

解决方法

你可以使用这个正则表达式(内部但不包括引号):

"^.{1,19} "

注意最后的空格.

我用Notepad 6.1.5(发布时的最新版本)对此进行了测试.根据feature list,正则表达式与PCRE兼容(后视工作,但仅限固定宽度).上面的正则表达式不适用于我当前的旧版本(Notepad 5.9).

由于您需要用其他内容替换空格,您可能希望使用捕获组来保留文本并仅替换空格(内部但不包括引号):

"^(.{1,19}) " (Find)
"\1replace_space" (Replace)

注意:正则表达式将在第20个字符之前或第20个字符处搜索空格.如果您希望空间严格位于第20个字符之前,请将19更改为18.

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...