如何使用RegEx在字符串中选择特定范围

时间:2017-11-23 15:02:37

标签: regex

所以我有一个字符串。让我们说这个论点就是这个:

1234567891113SomeTextExample

我希望有两个常规表达式:

  1. 从开头选择,比方说,第6个位置;
  2. 从第8位到第12位选择。
  3. 我知道如何选择特定位置后的所有内容,例如:

    (?<=.{6})(.*)$
    

    会选择5个字符后的所有内容。

    我正在使用Sublime Text编辑器,需要清理一些日志,这两个表达式可以节省大量时间。

3 个答案:

答案 0 :(得分:2)

从第6个位置开始(Demo):

^(.{6}).*$

字符8到12,包括两端(Demo):

^.{7}(.{5}).*$

我在这里假设您想要捕获这些特定范围以供某种使用。

答案 1 :(得分:2)

使用^让你的正则表达式从头开始。

从第6个位置开始:^(.{6})

&#13;
&#13;
var str = 'xdcfvgbhdsds';
var regex = /^(.{6})/;
console.log(regex.exec(str)[1]);
&#13;
&#13;
&#13;

第8到第12位:^.{7}(.{5})

&#13;
&#13;
var str = 'xdcfvgbhddsfsffsds';
var regex = /^.{7}(.{5})/;
console.log(regex.exec(str)[1]);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

最后我发现了它。

第一个 - 从开始选择,比方说,第六个位置:

^(.{6})

感谢Zenoo。

从第8位到第12位选择:

^(.{8})|(?<=.{12})(.*)$

嗯,至少这个可以在Sublime Text中使用。我确信有许多编辑/应用程序可以使用Zenoo的方法(^.{7}(.{5}))。