我正在尝试构建一个正则表达式模式,其中包含从数据库中检索的某些模式部分.
例如
string pt= "@\"\\b(" + db.GetPattern + ")\\b\"";
Regex regex = new Regex(pt, RegexOptions.IgnoreCase | RegexOptions.Compiled);
return regex.Replace(input, "*");
Run Code Online (Sandbox Code Playgroud)
虽然我试图逃避它,但我无法让它发挥作用.如果我手动构建模式
Regex regex = new Regex(@"\b(test|test2)\b", RegexOptions.IgnoreCase | RegexOptions.Compiled);
return regex.Replace(input, "*");
Run Code Online (Sandbox Code Playgroud)
它工作正常.
我正在清理搜索字符串,需要删除任何出现的句点,但是当它们在两位数之间时保留小数点.
例如,如果我有一个字符串
599.75,老虎队.
然后我希望它回来
599.75,老虎队
我在想一条像:
strNewString = RegEx.Replace(strOrigString,strRegEx,string.Empty);
strRegEx只会匹配.删除但是我很难搞清楚如何只匹配.而不是周围的事情.
我想分开camelCase或PascalCase单词空格分开单词集合.
到目前为止,我有:
Regex.Replace(value, @"(\B[A-Z]+?(?=[A-Z][^A-Z])|\B[A-Z]+?(?=[^A-Z]))", " $0", RegexOptions.Compiled);
Run Code Online (Sandbox Code Playgroud)
它适用于将"TestWord"转换为"Test Word"并保持单个单词不变,例如Testing遗留Testing.
然而,ABCTest转换到A B C Test我想要的时候ABC Test.
我试图在段落中添加希伯来语和英语句子的span标签.例如"所以היי所有什么都是אתכם?" 会变成 :
[span]so[/span][span]???[/span][span]all whats up[/span][span]????[/span]
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用正则表达式,但它只是删除希伯来语并在一个范围内加入英语单词.
var str = 'so ??? all whats up ?????'
var match= str.match(/(\b[a-z]+\b)/ig);
var replace = match.join().replace(match.join(),'<span>'+match.join()+'</span>')
Run Code Online (Sandbox Code Playgroud) 是否有可能在Java中编写一个正则表达式模式,例如,3个中的2个(或4个中的3个)组?
例如,我有以下正则表达式:
((?=.*\d)(?=.*[a-z])(?=.*[A-Z]))
Run Code Online (Sandbox Code Playgroud)
这将只允许匹配所有三个组的模式 - 即它必须包含一个数字和一个小写字符和一个大写字符.我想这样做,它将验证一个包含三个组中至少两个的模式(例如一个数字和一个大写字符或一个小写和大写字符).
它是在单个语句中可行还是我将不得不编写单独的正则表达式并循环它们?
假设我有一个这样的数据帧:
df<-data.frame(a=c("AA","BB"),b=c("short string","this is the longer string"))
Run Code Online (Sandbox Code Playgroud)
我想根据最后出现的空间使用正则表达式拆分每个字符串.我试过了:
library(dplyr)
library(tidyr)
df%>%
separate(b,c("partA","partB"),sep=" [^ ]*$")
Run Code Online (Sandbox Code Playgroud)
但这省略了输出中字符串的第二部分.我想要的输出看起来像这样:
a partA partB
1 AA short string
2 BB this is the longer string
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢.如果我可以使用tidyr和dplyr这样会很好.
我有一个包含逗号分隔特征的列的 pandas df,如下所示:
Shot - Wounded/Injured, Shot - Dead (murder, accidental, suicide), Suicide - Attempt, Murder/Suicide, Attempted Murder/Suicide (one variable unsuccessful), Institution/Group/Business, Mass Murder (4+ deceased victims excluding the subject/suspect/perpetrator , one location), Mass Shooting (4+ victims injured or killed excluding the subject/suspect
Run Code Online (Sandbox Code Playgroud)
我想将此列拆分为多个虚拟变量列,但无法弄清楚如何开始此过程。我试图像这样拆分列:
df['incident_characteristics'].str.split(',', expand=True)
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,因为描述中间有逗号。相反,我需要根据逗号后跟空格和大写字母的正则表达式匹配进行拆分。str.split 可以使用正则表达式吗?如果是这样,这是如何完成的?
我认为这个正则表达式会做我需要的:
,\s[A-Z]
Run Code Online (Sandbox Code Playgroud) 示例字符串是:
abcdefghijklmno
Run Code Online (Sandbox Code Playgroud)
如果我输入:
abc FALSE #at least 4 characters.
abcd TRUE
cdefg FALSE #because the match must start from the first character.
abcde TRUE
abcdeghi FALSE #because the characters must be contained consecutively.
abcdefgh TRUE
abcdefghi TRUE
abcdefghijklmno TRUE
abcdefghijklmnop FALSE #because it exceeds the example string.
Run Code Online (Sandbox Code Playgroud)
我试过了:
set -- abc
i=1
[[ abcdefghijklmno == ${!i}* ]]
echo $?
Run Code Online (Sandbox Code Playgroud)
但也会echo "$?"返回 3、2、10或 0 个字符。
其他代码显然是错误的,但它是为了传达我想做的事情:
set -- abc
i=1
[[ abcdefghijklmno == ${!i}{4}* ]]
echo $? …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个与逗号分隔的单词列表匹配并捕获所有单词的正则表达式.此行应匹配 apple , banana ,orange,peanut 和捕获应该是apple,banana,orange,peanut.要做到这一点,我使用以下正则表达式:
^\s*([a-z_]\w*)(?:\s*,\s*([a-z_]\w*))*\s*$
Run Code Online (Sandbox Code Playgroud)
它成功地匹配字符串,但突然间只apple与peanut被捕获.在C#和Perl中都可以看到这种行为.因此,我假设我遗漏了有关正则表达式匹配如何工作的事情.有任何想法吗?:)
我正在研究c ++ 11中的正则表达式,这个正则表达式搜索返回false.有谁知道我在做错了什么?.我知道.*除了换行符之外,它代表任意数量的字符.
所以我期待regex_match()返回true并将输出"找到".然而,输出结果是"未找到".
#include<regex>
#include<iostream>
using namespace std;
int main()
{
bool found = regex_match("<html>",regex("h.*l"));// works for "<.*>"
cout<<(found?"found":"not found");
return 0;
}
Run Code Online (Sandbox Code Playgroud)