我想匹配string1和以下行中出现的任何内容:
['string1','string2','string3']
['string1' , 'string2' , 'string3']
['string1.domain.com' , 'string2.domain.com' , 'string3.domain.com']
['string1.domain.com:8080' , 'string2.domain.com:8080' , 'string3.domain.com:8080']
直到遇到以下情况:
string2
因此,在上述4种情况下,使用正确的正则表达式,粗体显示的结果将是匹配的:
['string 1','string 2','string 3']
[“字符串 1” , “字符串 2” , “字符串3”]
['string1.domain.com ',' string2.domain.com ',' string3.domain.com']
['string1.domain.com:8080 ' , ' string2.domain.com:8080 ' , ' string3.domain.com:8080']
我尝试使用以下线程来解决我的问题 https://regex101.com/
我尝试的正则表达式来自问题8020848,但未成功匹配字符串:
((^|\.lpdomain\.com:8080' , ')(string1))+$
但是我没有成功地只匹配我想在这篇文章中的部分:
['string1.domain.com:8080' , 'string2.domain.com:8080' , 'string3.domain.com:8080']
以下是我使用您建议的正则表达式收到的内容
@@ -108,7 +108,7 @@ node stringA, stringB, stringC,stringD inherits default {
'ssl_certificate_file' => 'test.domain.net_sha2_n.crt',
'ssl_certificate_key_file'=> 'test.domain.net_sha2.key' }
},
- service_upstream_members => ['string1.domain.com:8080', 'string2.domain.com:8080', 'string3.domain.com:8080', 'string4.domain.com:8080', 'string5.domain.com:8080'],
+ service_upstream_members => [ 'string2.domain.com:8080', 'string3.domain.com:8080', 'string4.domain.com:8080', 'string5.domain.com:8080'],
service2_upstream_members => ['string9:8080','string10:8080'],
service3_upstream_members => ['string11.domain.com:8080','string12.domain.com:8080','string13.domain.com:8080'],
service_name => 'test_web_nginx_z1',
正如您所看到的,由于某种原因,前面有一个空格没有被删除,甚至regex101.com也证明了所有空格都是使用
'string1[^']*'\s*,\s*
这就是我当前正在使用的(其中服务器是脚本中已经定义的变量)
sed -i '' "s/'${server}[^']*'\s*,\s*//"
这应该符合您的要求(根据您的粗体突出显示),允许未知数量的空格等。
(?:...)
是一个非捕获组。
... ?
是一个不贪婪的匹配(尽可能少的x)
<代码>(字符串1.?)(?:'string2)
(字符串 1. ? )'字符串2
参见示例:https://regex101.com/r/lFPSEM/3
要匹配以“
开头的字符串,然后是string1
>,然后是除
以外的任何字符,出现次数为0或更多,然后是可选的空格数、逗号和0个空格,您可以使用
'string1[^']*'\s*,\s*
请参阅正则表达式演示。
细分:
'string1
-文字字符序列'string1
[^']*
-零个或多个(*
)字符,
”除外(由于字符类为负数
[^…]
“
-撇号
\s*
-0空格
,
-逗号
\s*
-0个空格
我面临着与Java的匹配器的其他问题。我试图使用正则表达式匹配我的JSON的内容,而不使用外部库。我的JSON看起来像这样: 但是,我只想匹配上半部分中的单词,即在第一个匹配。我试图创建一个新的模式和匹配器,但我不知道如何进行,也不知道如何在第一次出现
我想要一个带有ANTLR的规则,将任何字符解析为数字、字符串特殊('@space)等,直到单词FOOTER(不包括) 我要解析的文本是这样的 我尝试使用此代码:在词法分析器中。 在解析器中。 但它不起作用。
问题内容: 除了以下内容外,我想要一种有效的方法来在Python中将一个字符串附加到另一个字符串。 有什么好的内置方法可以使用吗? 问题答案: 如果你仅对一个字符串有一个引用,并且将另一个字符串连接到末尾,则CPython现在会对此进行特殊处理,并尝试在适当位置扩展该字符串。 最终结果是将操作摊销O(n)。 例如 过去是O(n ^ 2),但现在是O(n)。 从源(bytesobject.c): 凭
我有两个字符串str1和str2。我试图用字符把一些字母从一个字符串复制到另一个字符串。我知道我可以使用字符串复制,但我想要一些字符,而不是全部字符。 在Java中,如何将子字符串从一个字符串复制到另一个字符串?
问题内容: 我有一个字符串(基本上是遵循命名约定的文件名) 我想在第一个(即一个点)之前提取子字符串 在java doc api中,我似乎找不到在String中执行此操作的方法。 我想念什么吗?怎么做? 问题答案: 看看和。 确保检查的-1 。
问题内容: 我有以下数据框 我想更换和使用,所以最终的数据帧 我尝试了以下操作,但没有成功: 问题答案: 解决方案与通过: 如果需要将列中的所有值设置为一些: