Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式匹配第一个问号之前的所有大写字母_Regex - Fatal编程技术网

Regex 正则表达式匹配第一个问号之前的所有大写字母

Regex 正则表达式匹配第一个问号之前的所有大写字母,regex,Regex,我正在尝试创建一个正则表达式,该正则表达式将匹配URL字符串中第一个问号之前的所有大写字母: /foO/baR/?\u heLLo=13209570510504110000&\u woRld=0 我尝试了以下两种方法: (? ( 前者捕获问号前后的大写字母。后者不捕获大写字母。如果您有任何见解,将不胜感激。请尝试以下正面查找: (?<=^[^?]*)[A-Z] (?此正则表达式将实现以下功能: [A-Z](?=.*?\?) 请参见此处的操作:如果字符串包含多个问号,该怎么办?使用Jav

我正在尝试创建一个正则表达式,该正则表达式将匹配URL字符串中第一个问号之前的所有大写字母:

/foO/baR/?\u heLLo=13209570510504110000&\u woRld=0

我尝试了以下两种方法:

(?


前者捕获问号前后的大写字母。后者不捕获大写字母。如果您有任何见解,将不胜感激。

请尝试以下正面查找:

(?<=^[^?]*)[A-Z]

(?此正则表达式将实现以下功能:

[A-Z](?=.*?\?)

请参见此处的操作:

如果字符串包含多个问号,该怎么办?使用Java,这样我可以将其移植到URL字符串上。字符串将是URL字符串,因此我将通过编辑澄清该问题:“在第一个问号之前”。如果字符串不包含问号,该怎么办?您所说的“移植到”是什么意思?将它移植到什么?@MarkByers,没有问号,我仍然想要一个匹配项。因此,如果问号存在,正则表达式只会在问号之前找到一个匹配项。如果没有QM存在,我希望它使用整个字符串来查找匹配项。通过移植,我的意思是将原始Ruby正则表达式移植到Java友好的正则表达式。@MattC:是的,它不起作用因为Rubular是基于Ruby的。Ruby的正则表达式引擎缺少一些功能,比如lookbehinds。但是你说你在使用Java。Java有lookbehinds。