简体   繁体   English

正则表达式,在模式前找到10个字符

[英]regex, find 10 characters before pattern

I'm not good at regex so I need some help. 我不擅长正则表达式,所以我需要一些帮助。

I'm trying to find how to get for example 10 characters before the pattern and 10 characters after. 我试图找到如何获得例如模式前10个字符和模式后10个字符的方法。 like: 喜欢:

dskjgh kdsfhgl:ks;dhfl\kgh.sldfgdfgsd<pattern1.fso[wpe;x,/c,zasdfsdg


(10 chars before pattern1) var1 = "ldfgdfgsd<"
(10 chars after pattern1)  var2 = ".fso[wpe;x"

This should do the trick: 这应该可以解决问题:

var str = "lasdjfl askjdfl askjdf kljlajpattern1lakjsdflajsdlfkj";
var match = str.match(/(.{10})pattern1(.{10})/i);
var text1 = match[1];
var text2 = match[2];
alert(text1);
alert(text2);

Results: 结果:

text1 = jdf kljlaj

text2 = lakjsdflaj
$str = "dskjgh kdsfhgl:ks;dhfl\\kgh.sldfgdfgsd<pattern1.fso[wpe;x,/c,zasdfsd";
preg_match( "/(.{10})(pattern1)(.{10})/", $str, $matches);

$var1 = $matches[1];
echo $var1;

$var2 = $matches[3];
echo $var2;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM