小编Wik*_*żew的帖子

Java正则表达式只删除数字之间的空格

我有一些字符串:

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

java regex

5
推荐指数
1
解决办法
832
查看次数

正则表达式用HTML标签包装字符串

我有一个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)

我究竟做错了什么?

javascript regex

5
推荐指数
1
解决办法
793
查看次数

带有哈希标记的RegEx问题

我试图匹配哈希标签并用锚标签包装它们.这是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)

javascript regex jquery html5

5
推荐指数
1
解决办法
257
查看次数

在具有Java正则表达式问题的组之间插入连字符

我正在进行测试以查找并替换一个由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语法是错误的还是正则表达式问题?

java regex

5
推荐指数
1
解决办法
483
查看次数

在正则表达式中允许"/"正斜杠

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中的正斜杠.我已经尝试将其添加到模式以及"/"并且还无法使其记录为真.

javascript regex

5
推荐指数
2
解决办法
2万
查看次数

替换R中括号内的多个字符或字符串

我试图用分号替换所有括号内的逗号,但不更改括号外的任何逗号.

所以,例如:

"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的高级初学者,但是使用正则表达式和文本操作,一个总的菜鸟.你能提供的任何帮助都会很棒.

regex r

5
推荐指数
1
解决办法
321
查看次数

与具有量化替代方案的较短正则表达式符号相比,展开循环的优势是什么?

要求:两个表达式,exp1exp2,我们需要匹配两者中的一个或多个。所以我想出了,

(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)

编辑:当我们捕获组时,这两个方法之间的行为似乎有所不同。第二种方法捕获整个字符串,而第一种方法仅捕获最后一个匹配组。请参阅更新的小提琴

javascript regex

5
推荐指数
2
解决办法
1122
查看次数

替换双引号内所有出现的 Tab 字符

最后,我想替换 我目前在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)

我的逻辑有问题!我需要您帮助对制表符进行分组。

c# regex regex-group

5
推荐指数
1
解决办法
717
查看次数

正则表达式查找和替换冒号中的表情符号名称

我正在尝试编写一个正则表达式(用于 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 字符。正则表达式将查找匹配项并替换为标签

javascript regex emoji

5
推荐指数
1
解决办法
3240
查看次数

查找大括号内的文本并替换包含大括号的文本

我想找到一种模式{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 中同时替换文本和大括号

php regex preg-replace-callback

5
推荐指数
1
解决办法
357
查看次数

标签 统计

regex ×10

javascript ×5

java ×2

c# ×1

emoji ×1

html5 ×1

jquery ×1

php ×1

preg-replace-callback ×1

r ×1

regex-group ×1