我有一个仅匹配英文字母的正则表达式,即[a-zA-Z]字符类。
有没有内置的正则表达式?我的意思是类似\s或\w。
我想删除变量的最后一个字符。我想知道是否可以选择位置gsub并删除该特定位置的字符。
在这个例子中,我想删除最后一个数字,在 , 之后E,为我的 4 个变量。
variables = c('B10243E1', 'B10243E2', 'B10243E3', 'B10243E4')
gsub(pattern = '[[:xdigit:]]{8}.', replacement = '', x = variables)
Run Code Online (Sandbox Code Playgroud)
我以为我们可以使用命令
{}
Run Code Online (Sandbox Code Playgroud)
为了选择一个特定的位置。
我有几个要从中提取子字符串的字符串。这是一个例子:
/skukke/integration/build/IO/something
Run Code Online (Sandbox Code Playgroud)
我想提取第三个/字符之后的所有内容。在这种情况下,输出应为
/build/IO/something
Run Code Online (Sandbox Code Playgroud)
我尝试过这样的事情
/\/\s*([^\\]*)\s*$/
Run Code Online (Sandbox Code Playgroud)
比赛的结果是
something
Run Code Online (Sandbox Code Playgroud)
这不是我想要的。有人可以帮忙吗?
我正在尝试进行正则表达式匹配,这完全抛弃了前瞻性.
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Run Code Online (Sandbox Code Playgroud)
这是匹配,这是我的regex101测试.
但是,当一封电子邮件,开始-或者_或.不应该完全匹配它,而不是仅仅删除初始符号.欢迎任何想法,我一直在寻找过去半小时,但无法弄清楚如何从这些符号开始时删除整个电子邮件.
我有一个小的 javascript 函数:
function GetFilteredListLimited(event) {
var $source = $(event.target);
var $Pattern = event.data.Pattern;
var RE = new RegExp($Pattern, 'i');
if (RE.test($source.val())) {
console.log('RegEx match');
}
};
Run Code Online (Sandbox Code Playgroud)
使用的模式是:
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
Run Code Online (Sandbox Code Playgroud)
这应该与大多数电子邮件地址匹配。
使用http://regexpal.com/我可以看到该模式是正确的。但由于某种奇怪的原因,脚本已经匹配@之后的第四个字符
abc@abcd 不应给出匹配项,但确实如此。有什么建议 ?
我有以下 PHP 代码:
\n\n$search = "foo bar que";\n$search_string = str_replace(" ", "|", $search);\n\n$text = "This is my foo text with qu\xc3\xa9 and other accented characters.";\n$text = preg_replace("/$search_string/i", "<b>$0</b>", $text);\n\necho $text;\nRun Code Online (Sandbox Code Playgroud)\n\n显然,“que”与“qu\xc3\xa9”不匹配。我怎样才能改变这一点?有没有办法让preg_replace忽略所有口音?
必须匹配的字符(西班牙语):
\n\n\xc3\xa1,\xc3\x81,\xc3\xa9,\xc3\x89,\xc3\xad,\xc3\x8d,\xc3\xb3,\xc3\x93,\xc3\xba,\xc3\x9a,\xc3\xb1,\xc3\x91\nRun Code Online (Sandbox Code Playgroud)\n\n我不想在应用正则表达式之前替换所有重音字符,因为文本中的字符应该保持不变:
\n\n“这是我的foo文本,带有qu\xc3\xa9和其他重音字符。”
\n\n并不是
\n\n“这是我的foo文本,带有que和其他重音字符。”
\nMDN为JavaScript RegExp引入了'y'粘性标志.这是一个文档摘录:
ÿ
黏; 仅匹配目标字符串中此正则表达式的lastIndex属性指示的索引(并且不会尝试与任何后续索引匹配).
还有一个例子:
var text = 'First line\nSecond line';
var regex = /(\S+) line\n?/y;
var match = regex.exec(text);
console.log(match[1]); // prints 'First'
console.log(regex.lastIndex); // prints '11'
var match2 = regex.exec(text);
console.log(match2[1]); // prints 'Second'
console.log(regex.lastIndex); // prints '22'
var match3 = regex.exec(text);
console.log(match3 === null); // prints 'true'
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,g全局标志的使用实际上没有任何区别:
var text = 'First line\nSecond line';
var regex = /(\S+) line\n?/g;
var match = regex.exec(text);
console.log(match[1]); // prints 'First'
console.log(regex.lastIndex); // prints '11'
var …Run Code Online (Sandbox Code Playgroud) 我想替换字符串中所有出现的组.
String test = "###,##.##0.0########";
System.out.println(test);
test = test.replaceAll("\\.0(#)", "0");
System.out.println(test);
Run Code Online (Sandbox Code Playgroud)
我试图获得的结果###,##.##0.000000000
基本上,我想要替换所有#尾随的符号.0.我发现这是关于动态替换的,但我不能真正使它工作.
最佳解决方案不会考虑要替换的哈希数量(如果这样可以清除任何混淆).
我想重新编码一些标识符,从大写到小写.
我不确定这里的问题是什么.
n = c('AFD.434', 'BSD.23', 'F234.FF')
gsub(pattern = '[[:upper:]]', replacement = '[[:lower:]]', n)
[1] "[[:lower:]][[:lower:]][[:lower:]].434" "[[:lower:]][[:lower:]][[:lower:]].23" "[[:lower:]]234.[[:lower:]][[:lower:]]"
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)