小编Wik*_*żew的帖子

从字符串中删除连续的大写单词

我有一个很长的字符串,我想删除大写的连续单词(连续 2 个以上),如果最后一个大写单词后面有标点符号,那也是。但与此同时,我想保留作为“混合”词一部分的单个大写单词和大写单词(参见 reprex)。

我很难在 reprex 中实现连续词组。

string <- "Lorem ipsum DOLOR SIT AMET? consectetuer adipiscing elit. Morbi gravida libero NEC velit. Morbi scelerisque luctus velit. ETIAM-123 dui sem, fermentum vitae, SAGITTIS ID? malesuada in, quam. Proin mattis lacinia justo. Vestibulum facilisis auctor urna. Aliquam IN LOREM SIT amet leo accumsan"

#remove all consecutive UPPERCASE words including punctation (--> DOLOR SIT AMET?), but not single uppercase words (--> NEC) or "mixed" words with uppercase and digits (--> ETIAM-123)
#this doesn't …
Run Code Online (Sandbox Code Playgroud)

regex r

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

在java中将字符串拆分为多个部分以将其放入地图中

我一直在尝试从字符串中获取所有值,并按以下方式将它们放入映射中:

所以我有一个像这样的字符串:

String cookies = "i=lol;haha=noice;df3=ddtb;"
Run Code Online (Sandbox Code Playgroud)

到目前为止,我一直在尝试这个:

final Map<String, String> map = new HashMap<>();
map.put(cookies.split(";")[0].split("=")[0], cookies.split(";")[0].split("=")[1]);
Run Code Online (Sandbox Code Playgroud)

但是这样我只能输入一个值,而且它很长很丑。有没有用正则表达式或循环来解决这个问题?

java split hashmap

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

Hashref 赋值消耗下一个键而不是赋值 undef

我正在尝试初始化一个包含多个表达式结果的 hashref。我希望返回未定义结果的表达式将 undef 分配给适当的键。相反,赋值只是吞噬了下一个键,就好像表达式从不存在一样。

一个简单的例子可能更容易理解:

use Data::Dumper;
my $str = "vs";
my $contains = {
    t => ($str =~ /t/i),
    u => ($str =~ /u/i),
    v => ($str =~ /v/i),
};
print(Data::Dumper->Dump([$contains]));
Run Code Online (Sandbox Code Playgroud)

我希望上面的代码打印:

$VAR1 = {
    'v' => 1,
    't' => undef,
    'u' => undef
};

Run Code Online (Sandbox Code Playgroud)

相反,我得到以下信息:

$VAR1 = {
    't' => 'u',
    'v' => 1
};

Run Code Online (Sandbox Code Playgroud)

在赋值中添加一个明确的 undef 确实让我得到了我正在寻找的结果:

$VAR1 = {
    'v' => 1,
    't' => undef,
    'u' => undef
};

Run Code Online (Sandbox Code Playgroud)

然而,这对我来说似乎有点违反直觉。有人可以解释这种行为吗?

perl hash variable-assignment hashref

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

正则表达式通过忽略内部标签来匹配结束标签

我想捕获 MediaWiki 格式的图像标签,例如,

[[图片:Justus Sustermans - Galileo Galilei (Uffizi) 的肖像).jpg|left|thumb|upright|[[Galileo]] 通常被称为 [[现代天文学]] 之父,肖像由 [[Justus Sustermans] ] ]]

我必须忽略内部[[...]]以匹配整体(以粗体[[和 显示]])。我想出了

\[\[Image:((?:[^]]*+(?:(?!\[\[)|(?R))*+)*+)\]\]
Run Code Online (Sandbox Code Playgroud)

但它停在第一个]]

小提琴

php regex preg-match

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

正则表达式,大括号中的数字

我得到这个正则表达式:

^\+[0-9]{12,12}$

谁能解释大括号之间两个值的含义{12,12}

regex

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

正则表达式为4个数字,一个逗号和4个数字

使用正则表达式,我想匹配以下字符串:

4232,2232
Run Code Online (Sandbox Code Playgroud)

我试过了

^[0-9]+(,[0-9]+)$
Run Code Online (Sandbox Code Playgroud)

但是,它没有按预期工作.我想要迎合4个数字,一个逗号和4个数字.

c# regex

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

正则表达式匹配包含重复字符的整个单词

全部 - 需要一个匹配包含重复多次字符的整个单词的正则表达式.例如,给出句子"这里有一些测试词",我想在"areee"和"testtting"上匹配.

像"([az])\ 1 {1,}"这样的模式匹配重复的字符,但它返回"eee"和"ttt",而不是包含重复字符的整个单词.我用"\ w"代表单词和"\ b"代表单词边框进行了多种变体实验,但似乎无法使其正常工作......谢谢!

regex r

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

正则表达式允许点和逗号

我有这样的表达:

^(?!0*(\.0+)?$)(\d+|\d*\.\d+)$
Run Code Online (Sandbox Code Playgroud)

它工作正常,只是我希望它也接受逗号作为分隔符。有了这个图案,1,5还是,123假的。应该是真的。

具体来说,

0 = false
0.0 = false
null = false
. = false
, = false
0.123 = true
0,123 = true
.123 = true
,123 = true
123.123 = true
123,123 = true
Run Code Online (Sandbox Code Playgroud)

regex

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

如何在R中第一次出现逗号之前删除所有内容

我正在尝试删除文本,直到包含一个或多个逗号的字符串中的第一个逗号为止。出于某种原因,我发现这总是删除所有字符串的最后一个逗号之前的所有内容。

字符串看起来像:

OCR - (some text), Variant - (some text), Bad Subtype - (some text)
Run Code Online (Sandbox Code Playgroud)

我的正则表达式正在返回:

Bad Subtype - (some text)
Run Code Online (Sandbox Code Playgroud)

当所需的输出是:

Variant - (some text), Bad Subtype - (some text)
Run Code Online (Sandbox Code Playgroud)

Variant 不能保证排在第二位。

#select all strings beginning with OCR in the column Tags
clean<- subset(all, grepl("^OCR", all$Tags)
#trim the OCR text up to the first comma, and store in a new column called Tag
    clean$Tag<- gsub(".*,", "", clean$Tag) 
Run Code Online (Sandbox Code Playgroud)

或者

clean$Tag <- gsub(".*\\,", "", clean$Tag)
Run Code Online (Sandbox Code Playgroud)

或者

clean$Tag<- sub(".*,", "", clean$Tag)
Run Code Online (Sandbox Code Playgroud)

等等..

regex r

0
推荐指数
2
解决办法
107
查看次数

在 Scala/Java 中查找以主题标签开头的单词

我正在尝试编写正则表达式来分割以主题标签开头的所有单词。
例如,在以下文本中应该:

val regex = "???".r

val text = "#shouldMatch1 #shouldMatch2 notMatch nope#shouldMatch3 nooope()#shouldMatch4"

regex.split(text).toList shouldBe List("#shouldMatch1", "#shouldMatch2", "#shouldMatch3", "#shouldMatch4")
Run Code Online (Sandbox Code Playgroud)

我能得到的关闭是val regex: Regex = "[^#\\w+]".r,但它的分裂更多一点:

List("#shouldMatch1", "#shouldMatch2", "notMatch", "nope#shouldMatch3", "nooope", "#shouldMatch4")
Run Code Online (Sandbox Code Playgroud)

因此,在某些情况下,它会找到不以主题标签开头的单词。您对我应该如何写出正确的表达有任何想法或指导吗?

代码是用 Scala 编写的,但用 Java 编写应该类似。

java regex scala

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

标签 统计

regex ×8

r ×3

java ×2

c# ×1

hash ×1

hashmap ×1

hashref ×1

perl ×1

php ×1

preg-match ×1

scala ×1

split ×1

variable-assignment ×1