我有一个列表模式:
patterns=['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al',
'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn',
'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb',
'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In',
'Sn', 'Sb', 'Te', 'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm',
'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Hf', 'Ta',
'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', …Run Code Online (Sandbox Code Playgroud) 开玩笑:我试图忽略所有以.stories.tsx例如SomeFileName.stories.tsx. 添加到 my package.json->*.stories.tsx中,如下coveragePathIgnorePatterns所示jest:
"jest": {\n "coveragePathIgnorePatterns": [\n ...\n "*.stories.tsx"\n ]\n}\nRun Code Online (Sandbox Code Playgroud)\n不幸的是,运行测试将为我的所有测试抛出以下错误:
\n\n\n\xe2\x97\x8f 测试套件运行失败
\nRun Code Online (Sandbox Code Playgroud)\nSyntaxError: Invalid regular expression: /*.stories.tsx/: Nothing to repeat\n at String.match (<anonymous>)\n ...\n
我需要在里面添加什么才能coveragePathIgnorePatterns使其工作?
我有以下代码:
echo "12. Chapter Name" | sed -n -E "s/([0-9]{2})\.[[:space:]].*/\1/p"
Run Code Online (Sandbox Code Playgroud)
它12按预期打印,因为\1指的是第一个捕获组。
但是,如果\0使用 代替\1,则输出为12. Chapter Name,则打印整个输入字符串。
似乎只要正则表达式找到匹配项,就会\0打印整个输入字符串。这样对吗?
我正在运行 Debian 10.2。
字符串有多种变体:
"txt files `(*.txt)|*.txt|All files (*.*)|*.*`""Image Files`|*.jpg;*.jpeg;*.png;`""Excel Files `(*.xls, *.xlsx)|*.xls;*.xlsx|CSV Files (*.csv)|*.csv`"子字符串可以以任何字符结尾,(space, ',', '.', '|', ';') -无关紧要。
尝试了以下选项:“ [^*].{3,4}(.?);", "[^*]+.(.?);”。
我需要一个正则表达式来获取string[] = {.jpg, .jpeg, ...},最好没有重复的元素。
所以我试图在特定模式之后找到一个模式
例如,输入文件将是
/wav1/af_ZA_IT_001_B.wav;2.98;3.67;;;dáár wav1
/wav1/af_ZA_IT_001_B.wav;2.98;3.67;;;dáár we1
/wav1/af_ZA_IT_001_B.wav;4.05;7.9;;;dit is franko wav1 van niekerk hier en kobus buys kobus
Run Code Online (Sandbox Code Playgroud)
然后将输出文件将寻找wav1后;;;
使用
grep "wav1" file.txt
Run Code Online (Sandbox Code Playgroud)
我突出显示了所有 wav1。
/wav1/af_ZA_IT_001_B.wav;2.98;3.67;;;dáár wav1
/wav1/af_ZA_IT_001_B.wav;2.98;3.67;;;dáár we1
/wav1/af_ZA_IT_001_B.wav;4.05;7.9;;;dit is franko wav1 van niekerk hier en kobus buys kobus
Run Code Online (Sandbox Code Playgroud)
但是,由于每个文件都以 wav1 开头,因此我无法找到 wav1 之后的位置;;;。
如何在模式(';;;')之后找到模式('wav`')
预期输出将是
/wav1/af_ZA_IT_001_B.wav;2.98;3.67;;;dáár wav1
/wav1/af_ZA_IT_001_B.wav;4.05;7.9;;;dit is franko wav1 van niekerk hier en kobus buys kobus
Run Code Online (Sandbox Code Playgroud) name1 <- "Adam & Eve"
name2 <- "Spartacus"
name3 <- "Fitness and Health"
Run Code Online (Sandbox Code Playgroud)
我想删除所有空格和特殊字符,例如%&,.和and名称之间的单词,然后将每个字符串大写,因此名称变为:
name1 <- "ADAMEVE"
name2 <- "SPARTACUS"
name3 <- "FITNESSHEALTH"
Run Code Online (Sandbox Code Playgroud) 我有一些巨大的文件,其值由管道 (|) 符号分隔。我们引用的字符串,但有时引用的字符串之间有换行符。
我需要使用 Oracle 的外部表读取这些文件,但在换行符上他会给我错误。所以我需要用空格替换它们。
我对这些文件执行了一些其他 perl 命令来解决其他错误,所以我想在一行 perl 命令中找到一个解决方案。
我在 stackoverflow 上发现了一些其他类似的问题,但它们的作用并不完全相同,而且我无法使用那里提到的解决方案找到我的问题的解决方案。
我尝试过但不起作用的声明:
perl -pi -e 's/"(^|)*\n(^|)*"/ /g' test.txt
Run Code Online (Sandbox Code Playgroud)
示例文本:
4454|"test string"|20-05-1999|"test 2nd string"
4455|"test newline
in string"||"test another 2nd string"
4456|"another string"|19-03-2021|"here also a newline
"
4457|.....
Run Code Online (Sandbox Code Playgroud)
应该变成:
4454|"test string"|20-05-1999|"test 2nd string"
4455|"test newline in string"||"test another 2nd string"
4456|"another string"|19-03-2021|"here also a newline "
4457|.....
Run Code Online (Sandbox Code Playgroud) 我想匹配以逗号分隔的每个单词,但它不能包含像'或这样的引号"。
我正在使用这个正则表达式:
^[a-zA-Z0-9][\!\[\@\\\:\;a-zA-Z0-9`_\s,]+[a-zA-Z0-9]$
Run Code Online (Sandbox Code Playgroud)
但是,它只匹配字符和数字,而不匹配符号。
输出应该是:
example,example //true
exaplle,examp@3 //true, with symbol or number
example, //false, because there is no word after comma
,example //false, because there is no word before comma
@#example&$123,&example& //true, with all character and symbol except quote
Run Code Online (Sandbox Code Playgroud) 因此,我找到了一个解决方案,有助于在字符串中的每个第 n 个字符插入一个值/字符:
(?=(?:.{n})+$)
\n但每隔 n 个空格插入一个值(例如制表符或 )会更合理,这样单词就不会被拆分。编辑此正则表达式有哪些可能的方法?
我进行了聚类分析,现在我想将标签附加到树状图上。考虑到标签是非常长的字符串,例如:
tibble(
id = d2022_1,
label = "A very long label for the dendro that should be splitted so it will look nicely in the picture"
)
Run Code Online (Sandbox Code Playgroud)
我想将其按行制成表格/分割,所以我想插入\n:
A very long label for the dendro\nthat should be splitted so\nit will look nicely in the picture
我首先生成一个长随机字符串:
const int length = 100000;
std::uniform_int_distribution<int> distribution(0, 2);
std::default_random_engine engine{1}; // set 1 as seed
// Just for test usage, not optimal.
for(int i = 0; i < length; i++) // random abc
a.push_back('a' + distribution(engine));
std::regex r{ "abc" };
Run Code Online (Sandbox Code Playgroud)
然后我分别使用std::smatch和std::cmatch并对它们进行基准测试:
std::smatch m;
std::string a0 = a;
int result = 0; // to disable optimization.
while (std::regex_search(a0, m, r))
{
a0 = m.suffix();
result += static_cast<int>(a0[0]);
}
return result;
Run Code Online (Sandbox Code Playgroud)
std::cmatch m;
const char* currBegin = …Run Code Online (Sandbox Code Playgroud) 假设我有一个字符串:
my_string = "-5-24-3-488-7--4-3-"
Run Code Online (Sandbox Code Playgroud)
如何删除这两个第一和最后的冲刺?我希望结果如下所示:
my_string = "5-24-3-488-7--4-3"
Run Code Online (Sandbox Code Playgroud)
我考虑过使用gsub,或正则表达式,但我可能使解决方案过于复杂。我还是想不通。请帮忙。