小编Rys*_*ech的帖子

如何使用正则表达式解析化学式?

我有一个列表模式:

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)

python regex string

7
推荐指数
1
解决办法
123
查看次数

coveragePathIgnorePatterns - 忽略具有特定结尾的文件

开玩笑:我试图忽略所有以.stories.tsx例如SomeFileName.stories.tsx. 添加到 my package.json->*.stories.tsx中,如下coveragePathIgnorePatterns所示jest

\n
"jest": {\n    "coveragePathIgnorePatterns": [\n        ...\n        "*.stories.tsx"\n    ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

不幸的是,运行测试将为我的所有测试抛出以下错误:

\n
\n

\xe2\x97\x8f 测试套件运行失败

\n
SyntaxError: Invalid regular expression: /*.stories.tsx/: Nothing to repeat\n    at String.match (<anonymous>)\n    ...\n
Run Code Online (Sandbox Code Playgroud)\n
\n

我需要在里面添加什么才能coveragePathIgnorePatterns使其工作?

\n

glob jestjs

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

\0 在 sed 中是什么意思?

我有以下代码:

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。

regex bash sed regex-group

3
推荐指数
1
解决办法
164
查看次数

查找正则表达式以获取带有文件扩展名的子字符串

字符串有多种变体:

  1. "txt files `(*.txt)|*.txt|All files (*.*)|*.*`"
  2. "Image Files`|*.jpg;*.jpeg;*.png;`"
  3. "Excel Files `(*.xls, *.xlsx)|*.xls;*.xlsx|CSV Files (*.csv)|*.csv`"

子字符串可以以任何字符结尾,(space, ',', '.', '|', ';') -无关紧要。

尝试了以下选项:“ [^*].{3,4}(.?);", "[^*]+.(.?);”。

我需要一个正则表达式来获取string[] = {.jpg, .jpeg, ...},最好没有重复的元素。

c# string split

3
推荐指数
1
解决办法
508
查看次数

Bash 如何在模式之后找到模式

所以我试图在特定模式之后找到一个模式

例如,输入文件将是

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

regex bash shell grep sed

2
推荐指数
1
解决办法
64
查看次数

从字符串中删除特殊字符和空格

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)

regex string r gsub dplyr

2
推荐指数
1
解决办法
102
查看次数

替换大文件中带引号的字符串中的换行符

我有一些巨大的文件,其值由管道 (|) 符号分隔。我们引用的字符串,但有时引用的字符串之间有换行符。

我需要使用 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)

regex perl awk sed

2
推荐指数
1
解决办法
170
查看次数

除逗号后的引号外的任何字符的正则表达式

我想匹配以逗号分隔的每个单词,但它不能包含像'或这样的引号"

我正在使用这个正则表达式:

^[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)

javascript regex

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

我们如何在 R 中的字符串中的每个 n 个字符或/和后面插入 \n ?

因此,我找到了一个解决方案,有助于在字符串中的每个第 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

r word-wrap

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

为什么这里的 std::cmatch 比 std::smatch 慢?

我首先生成一个长随机字符串:

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::smatchstd::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)

c++ matching c++11

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

如何从字符串中删除第一个和最后一个破折号?

假设我有一个字符串:

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,或正则表达式,但我可能使解决方案过于复杂。我还是想不通。请帮忙。

ruby regex

-1
推荐指数
2
解决办法
1617
查看次数

标签 统计

regex ×7

sed ×3

string ×3

bash ×2

r ×2

awk ×1

c# ×1

c++ ×1

c++11 ×1

dplyr ×1

glob ×1

grep ×1

gsub ×1

javascript ×1

jestjs ×1

matching ×1

perl ×1

python ×1

regex-group ×1

ruby ×1

shell ×1

split ×1

word-wrap ×1