我尝试运行此查询:
SELECT column FROM table WHERE column REGEXP '[^A-Za-z\-\']'
Run Code Online (Sandbox Code Playgroud)
但这又回来了
#1139-从regexp得到错误“无效字符范围”
在我看来,-字符类中的不会被转义,而是被视为无效范围。是否还有其他方式可以逃脱mysql作为文字-?
此regex可以在mysql外部https://regex101.com/r/wE8vY5/1正常工作。
我想出了该正则表达式的替代方法
SELECT column FROM table WHERE column NOT REGEXP '([:alpha:]|-|\')'
Run Code Online (Sandbox Code Playgroud)
所以问题不在于我该如何工作。问题是为什么第一个正则表达式不起作用?
这是问题的SQL提琴,http: //sqlfiddle.com/#!9/f8a006/1 。
另外,这里没有使用任何语言,查询是在数据库级别运行的。
PHP中的正则表达式:http://sandbox.onlinephpfunctions.com/code/10f5fe2939bdbbbebcc986c171a97c0d63d06e55
JS中的正则表达式:https://jsfiddle.net/6ay4zmrb/
在我的 MySQL 数据库中,用 VARCHAR 调用。然后,我将其导入到 Pandas 数据框。这是我的数据:
data5
id phone
1 +62634783472
2 0834838483
3 +62
Run Code Online (Sandbox Code Playgroud)
我想要的是将 +62 转换为 0,预期输出将是这样的
id phone
1 0634783472
2 0834838483
3 0
Run Code Online (Sandbox Code Playgroud)
我已经尝试了两件事,有
data5['phone'] = data5['phone'].str.replace('+62', '0')
data5['phone'] = data5['phone'].replace(to_replace='+62', value='0', regex=True)
Run Code Online (Sandbox Code Playgroud)
结果是:
error: nothing to repeat at position 0
Run Code Online (Sandbox Code Playgroud)
我想念什么?
string query = "A|B";
Run Code Online (Sandbox Code Playgroud)
接下来两行的输出等于"%A%|%B%"“A%B”!
query = Regex.Replace(query, "|", "%");
query = Regex.Replace(query, @"|", "%");
Run Code Online (Sandbox Code Playgroud)
为什么?
select Values, REGEXP_COUNT(values,'|') from Products
Run Code Online (Sandbox Code Playgroud)
样本值单元格:
Product|Cash|Loan|Customer
Run Code Online (Sandbox Code Playgroud)
选择的结果是27。如果算其他字符,它可以工作,但是如果我要算| 它计算整个字符串。为什么,如何计数管道?
这是我尝试使用的表达方式。它适用于其他地方,例如 regexr.com,但不适用于 VSCode...
font\-size\:\s{0,1}\d{2,2}px\;\s{0,1}
Run Code Online (Sandbox Code Playgroud)
这是 HTML:
https://codepen.io/JashoowellPadderssonn/pen/WNbVVEq
我还尝试禁用所有不起作用的扩展。这是我的 VSCode 设置:
https://gist.github.com/CrocodileInAWhileAlligatorLater/409f0d9d179955ff80419a8a4506a09d
我有一个随机变量,可以在大括号内将其称为 R,如下所示:
{R}
Run Code Online (Sandbox Code Playgroud)
我试图用这个正则表达式:
{(.*?)//}
Run Code Online (Sandbox Code Playgroud)
然后我有这个错误
"Caused by: java.util.regex.PatternSyntaxException:
Syntax error U_REGEX_RULE_SYNTAX near index 1:"
Run Code Online (Sandbox Code Playgroud)
指标定位 {(.*?)} "("
我尝试在没有括号的情况下执行相同的错误。本次指标目标"."
有人可以帮我找到大括号内正则表达式项的替代解决方案吗?
我想在c#中使用以下正则表达式
<asp:(\w+)\s+.*?id="(\w+)"
Run Code Online (Sandbox Code Playgroud)
我似乎无法将其存储为字符串而不会破坏它.
我怎样才能逃避表达并保持其完整性?
谢谢
我在 Regex.Replace 上遇到了一个奇怪的问题
string test = "if the other party is in material breach of such contract and, after <span style=\"background-color:#ffff00;\">forty-five (45)</span> calendar days notice of such breach";
string final = Regex.Replace(test, "forty-five (45)", "forty-five (46)", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
“最终”字符串仍显示“四十五 (45)”。知道为什么吗?我假设它必须对标签做一些事情。我该如何解决?
谢谢
我正在尝试创建一个将文件模式转换为 java 正则表达式模式的实用程序函数,我需要它来对目录中的文件进行通配符匹配。我想出了 4 个需要考虑的案例。案子够不够?
regexPattern = filePattern;
// convert windows backslash to slash
regexPattern = regexPattern.replace("\\", "/");
// convert dot to \\.
regexPattern = regexPattern.replace("\\.", "\\\\.z");
// convert ? wildcard to .+
regexPattern = regexPattern.replace("?", ".+");
// convert * wildcard to .*
regexPattern = regexPattern.replace("*", ".*");
Run Code Online (Sandbox Code Playgroud) 我正在将一个短语读入R脚本作为参数。如果该短语包含星号(*),则我不希望脚本运行。
但是,使用grepl时,我在识别星号时遇到了问题。例如:
> asterisk="*"
> phrase1="hello"
> phrase2="h*llo"
> grepl(asterisk,phrase1)
[1] TRUE
> grepl(asterisk,phrase2)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
的结果grepl(asterisk,phrase1)应为FALSE。有谁知道我如何grepl识别短语中是否有星号?
我试图在clojure中分割一个字符串" Hello|World"但是当使用split方法时" (clojure.string/split x #"|")"我得到了一个奇怪的结果,我得到了这个"[h e l l o | w o r l d]".任何人都可以告诉我它为什么这样做,我怎么能把它分开来得到[hello world]?
我正在尝试解析看起来像的输入行
8=FIX.4.2^A9=0126^A35=0^A34=000742599^A49=L3Q206N^A50=2J6L^A52=20130620-11:16:27.344^A369=000733325^A56=CME^A57=G^A142=US,IL^A1603=OMS2^A1604=0.1^A
Run Code Online (Sandbox Code Playgroud)
您有不同的数据字段,由^ A分隔.我试图得到各个数据字段(如8 = FIX.4.2,9 = 0126,35 = 0等).问题是python有时将^ A解释为单个字符(在vim中这是ctrl-v,ctrl-a),有时将字符'^ A'解释为有两个字符.所以我试过了
entries = re.split('^A|^A', str(line))
Run Code Online (Sandbox Code Playgroud)
但后来当我这样做
for entry in entries:
print entries
Run Code Online (Sandbox Code Playgroud)
我最后得到了原始字符串,没有任何分裂.这是re.split的问题吗?
我写过这行代替+和=空间.但它返回一个错误说明
量词在正则表达式中没有任何关系
$element= ~ s/+/ /g;
$element= ~ s/=/ /g;
Run Code Online (Sandbox Code Playgroud)
它是否正确?如何将两种条件合二为一?