我有一些字符串:
String a = "Hello 12 2 3 4 45th World!";
Run Code Online (Sandbox Code Playgroud)
我想将数字连接起来: "Hello 12234 45th World"
通过尝试a.replaceAll("(?<=\\d) +(?=\\d)", ""),我得到的结果如下:
"Hello 1223445th World".
有没有办法只连接数字,而不是数字 + th?
我有一个textarea,有很多行,看起来像:
#1=stuff
#2=more stuff
...
#123=even more stuff
...
Run Code Online (Sandbox Code Playgroud)
我正在使用正则表达式找到#num = pattern(/ ^#[0-9]*= /),我想让它们像锚标签一样
<a href='#123='>#123=</a>
Run Code Online (Sandbox Code Playgroud)
但它不会像我想象的那样起作用.
"#2=".replace(/^#[0-9]*=/,"<a href='$1'>$1</a>")
Run Code Online (Sandbox Code Playgroud)
结果:
<a href='$1'>$1</a>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我试图匹配哈希标签并用锚标签包装它们.这是POC:
<p class="display"></p>
Run Code Online (Sandbox Code Playgroud)
var content = "I like #redApple. I have a #black hat. #red is my favorite color";
var re = /(#[a-z0-9][a-z0-9\-_]*)/ig,
match, matches = [];
while (match = re.exec(content)) {
matches.push(match[1]);
}
for (i = 0; i < matches.length; i++) {
value = matches[i];
console.log(value + ".....value");
vSearch = value.replace(/[-\/\\^$*+?.=()|[\]{}]/g, '\\$&');
console.log(vSearch + ".......vSearch");
regExSearch = new RegExp(vSearch, 'g');
console.log(regExSearch + "........regExSearch");
content = content.replace(regExSearch, '<a href="#">' + value + '</a> ');
}
$(".display").append(content);
Run Code Online (Sandbox Code Playgroud)
a {
color: red; …Run Code Online (Sandbox Code Playgroud) 我正在进行测试以查找并替换一个由3或4个大写字母组成的字符串,后跟一个带有相同字符串,连字符和相同数字的数字.在Perl中,我可以使用:
s/([A-Z]{3,4})([0-9])/$1-$2/g;
Run Code Online (Sandbox Code Playgroud)
我在Java中试过这个,硬编码如下字符串:
public class Test {
public static void main(String[] args) {
String test = "TEST1";
Pattern p = Pattern.compile("([A-Z]{3,4})([0-9])");
Matcher m = p.matcher(test);
if (m.find()) {
m.replaceAll(m.group(1) + "-" + m.group(2));
}
System.out.println(test);
}
}
Run Code Online (Sandbox Code Playgroud)
但没有找到匹配.我的Java语法是错误的还是正则表达式问题?
var patt = /^(?=.*[a-zA-Z0-9.!@#&*\-\u0080-\u052F])[a-zA-Z0-9\s.!@#&*',\-\u0080-\u052F]*$/;
console.log(patt.test("\u002f"));
Run Code Online (Sandbox Code Playgroud)
我知道u002f是Unicode中的正斜杠.我已经尝试将其添加到模式以及"/"并且还无法使其记录为真.
我试图用分号替换所有括号内的逗号,但不更改括号外的任何逗号.
所以,例如:
"a, b, c (1, 2, 3), d, e (4, 5)"
Run Code Online (Sandbox Code Playgroud)
应成为:
"a, b, c (1; 2; 3), d, e (4; 5)"
Run Code Online (Sandbox Code Playgroud)
我已经开始尝试使用gsub,但我很难理解/弄清楚如何识别括号内的逗号.
我会称自己是R的高级初学者,但是使用正则表达式和文本操作,一个总的菜鸟.你能提供的任何帮助都会很棒.
要求:两个表达式,exp1和exp2,我们需要匹配两者中的一个或多个。所以我想出了,
(exp1 | exp2)*
Run Code Online (Sandbox Code Playgroud)
但是在某些地方,我看到以下正在使用,
(exp1 * (exp2 exp1*)*)
Run Code Online (Sandbox Code Playgroud)
两者有什么区别?你什么时候会使用一个?
希望小提琴能让这更清楚,
var regex1 = /^"([\x00-!#-[\]-\x7f]|\\")*"$/;
var regex2 = /^"([\x00-!#-[\]-\x7f]*(\\"[\x00-!#-[\]-\x7f]*)*)"$/;
var str = '"foo \\"bar\\" baz"';
var r1 = regex1.exec(str);
var r2 = regex2.exec(str);
Run Code Online (Sandbox Code Playgroud)
编辑:当我们捕获组时,这两个方法之间的行为似乎有所不同。第二种方法捕获整个字符串,而第一种方法仅捕获最后一个匹配组。请参阅更新的小提琴。
最后,我想替换
我目前在Regex101上的所有\t包含的内容,尝试对我的正则表达式进行各种迭代......这是我迄今为止最接近的......"
originString = blah\t\"blah\tblah\"\t\"blah\"\tblah\tblah\t\"blah\tblah\t\tblah\t\"\t\"\tbleh\"
regex = \t?+\"{1}[^"]?+([\t])?+[^"]?+\"
\t?+ maybe one or more tab
\"{1} a double quote
[^"]?+ anything but a double quote
([\t])?+ capture all the tabs
[^"]?+ anything but a double quote
\"{1} a double quote
Run Code Online (Sandbox Code Playgroud)
我的逻辑有问题!我需要您帮助对制表符进行分组。
我正在尝试编写一个正则表达式(用于 JavaScript 的正则表达式引擎),我可以使用它在文本中查找和替换冒号内的表情符号名称。就像在 Slack 或 Discord 中键入时一样,:smiley-face:当您提交聊天时它会替换它。我只针对文本节点,所以我不需要担心文本中的其他 html。
是否可以编写一个可以匹配以下所有规则的正则表达式?(用等宽块突出显示的文本 = 正则表达式正匹配)
:any-non-whitespace:
:text1:sample2:
:@(1@#$@SD: :s:
:nospace::inbetween:因为中间
:nospace:中间有2个冒号:nospace:
我从这样的事情开始,但它不完整
/:(?!:)\S+:/gim
Run Code Online (Sandbox Code Playgroud)
我试图考虑所有可能发生的特殊情况。可能是我多虑了。
涉及很多 Twitch 表情,所以我不能使用 emoji unicode 字符。正则表达式将查找匹配项并替换为标签
我想找到一种模式{text}并替换包括大括号的文本。
$data = 'you will have a {text and text} in such a format to do {code and code}';
$data= preg_replace_callback('/(?<={{)[^}]*(?=}})/', array($this, 'special_functions'),$data);
Run Code Online (Sandbox Code Playgroud)
我的special function包含回调代码来替换大括号和完全和有条件的文本。
public function special_functions($occurances){
$replace_html = '';
if($occurances){
switch ($occurances[0]) {
case 'text and text':
$replace_html = 'NOTEPAD';
break;
case 'code and code':
$replace_html = 'PHP';
break;
default:
$replace_html ='';
break;
}
}
return $replace_html;
}
Run Code Online (Sandbox Code Playgroud)
预期输出
你将有一个这样格式的记事本来执行 PHP
preg_replace_callback如何使用正则表达式在 php 中同时替换文本和大括号