草庐IT

regex_replace

全部标签

mysql - 在 phpMyAdmin 中使用带有转义字符的 REPLACE

我有一个从网站提交的信息数据库。主列数据是使用Markdown输入的,包含大量如下所示的文本:Walgreens(www.walgreens.com)isthenation\\\'slargestdrugstorechain.我们正在切换到不同的所见即所得编辑器,需要清理数据。我尝试在phpMyAdmin中这样做:UPDATEsc_answerSETanswer_text=REPLACE(answer_text,'\\\','')WHEREsc_answer_id=24806但是我得到一个错误:#1064-YouhaveanerrorinyourSQLsyntax;checkthema

具有多个主键的mysql REPLACE查询

所以如果存在与插入数据具有相同主键的列,则MYSQL的REPLACE命令(不要与字符串替换函数混淆)替换一行...但是如果我有两个主键并且我想使用两个主键来指定要替换的行而不是其中一个....我如何指定mysql使用两个键而不是一个键 最佳答案 应该没什么区别,它们是相同的语法。只要确保将两个键都指定为列即可。例如:REPLACEINTO`my_table`(`key1`,`key2`,`othercolumn1`/*,...*/)VALUES('widgets',14,'Bluewidgetwithpurpletrim');编辑这

MYSQL:在 MySQL Select 中寻找 Perl 的 "regex"=~ s/e/i/g => rigix 的等价物

我可以在MYSQL选择中匹配和替换文本模式吗?编辑现在看来答案是:做不到,因为您无法捕获匹配的内容(来自Eric的回答/评论)。现在我将考虑添加一个查找表。简化示例:MySQL表Coleridge包含许多字符串,例如:text------------------------------------In_Xanadu_did_Kubla_KhanA_stately_pleasure_dome_decreeWhere_Alph_the_sacred_river_ranThrough_caverns_measureless_to_manDown_to_a_sunless_sea有没有办法表达

php - "REPLACE INTO"与 INSERT [IF]

好吧,我有一个问题,不是真正的问题。我的数据库中有一个表,相当小,只有3列,但有增长的潜力。我的问题有两种解决方案,但不确定为什么要使用其中一种。我有一段数据,它可能已经存在也可能不存在于数据库中。解决这个问题的两种方法。我有唯一的ID,所以很容易检查。检查记录是否存在于数据库中,如果不存在,则INSERTINTO数据库使用REPLACEINTO,因为我已经有了ID。我现在的问题是。哪个更好用。使用这两个结果中的任何一个的优缺点是什么。还是有更好的结果?请注意,数据完全相同,因此记录不可能更新为更新的值。因此REPLACEINTO将插入已经存在的数据。 最佳

mysql - 与 MySql REGEX 匹配空格时出现问题

我正在尝试匹配数据库中所有与此示例“(11)1234-5678”的格式不匹配的电话。由于空格,我在定义正则表达式时遇到了麻烦,我已经完成了以下测试:SELECT'(11)1234-5678'REGEXP"\([0-9]{2}\)"->1SELECT'(11)1234-5678'REGEXP"\([0-9]{2}\).*"->1SELECT'(11)1234-5678'REGEXP"\([0-9]{2}\)"->0SELECT'(11)1234-5678'REGEXP"\([0-9]{2}\)[:blank:]"->0SELECT'(11)1234-5678'REGEXP"\([0-9]

mysql - MySQL 的 Oracle 替代品 REPLACE INTO

在MySQL中我们使用REPLACEINTO如果行不存在则插入,如果存在则更新。Oracle中有相应的命令吗? 最佳答案 MERGEINTOdestTabledUSING(SELECT*FROMsourceTable)sON(s.id=d.id)WHENNOTMATCHEDTHENINSERT(id,destCol1,destCol2)VALUES(id,sourceCol1,sourceCol2)WHENMATCHEDTHENUPDATESETdestCol1=sourceCol1,destCol2=sourceCol2

php - MySQL "REPLACE INTO"使用 SELECT 拉取一个字段

我有一个MySQL数据库,它有两个表(实际上还有更多)。第一个表将产品的SKU编号链接到任意ID。还有第二个表根据此ID记录每个项目的日终库存。当库存因销售以外的原因而更改时,第二个表中会放置一条bool值设置为false的记录。这让我可以说这个新数字作为前一天销售的向量无效,但适用于第二天的销售。此代码中存在一些语法错误。我还是一名学生,如果您能帮助我解释这种更新的工作原理,我将不胜感激。我知道第一个值需要来自select语句吗?这是我当前的MySQL语句:REPLACEINTOsales(`itemID`,`date`,`qty`,`price`)VALUES([itemID],C

Java Regex到组复合名称

我正在创建一个Java应用程序,该应用程序在控制台上请求某些名称,然后使用正则表达式提取不带逗号的名称,并且仅根据此表达式才能正确名称:(\\w{2,}(|\\s\\w{2,})+)我在WebRegexSimulator上检查了上面的表达式,并且似乎适合我的要求,但是当我尝试使用模式和Matcher类在Java上匹配它时,对于以下名称,它不正常。alvarodelaTorre.它不断将名称分为4组(在此示例中)。我需要复合名称仅在一个字符串中。我非常感谢任何帮助。提前致谢。看答案由于我们生活在确定性的世界中,因此机器遵循确定性规则。特别是,在正则表达式中,如果满足了捕获组的第一个字段,则解析器

php - 这个 preg_replace 有什么作用? (/[\xF0-\xF7].../)

显然$data是字符串,我们正在删除满足reg表达式的字符,但是/[\xF0-\xF7].../指定的字符是什么?preg_replace('/[\xF0-\xF7].../','',$data)还有这些字符被替换的意义是什么?赏金编辑:具体来说,这是试图防止发生什么漏洞利用?数据稍后用于mysql查询(非pdo),所以我认为这些字符可能涉及某种注入(inject)攻击?或不?我试图理解我正在阅读的脚本中这行代码背后的逻辑。 最佳答案 它从unicode字符串中删除4个字节序列。在这些中,第一个字节始终是[\xF0-\xF7],三个

MySQL REPLACE 影响 0 行但 WHERE ... LIKE 返回 90

由于某些原因,在使用PhpMyAdmin时返回90行:SELECTCOUNT(*)FROMle_wp_postsWHEREpost_contentLIKE'%Â%'但以下仅更新3行:UPDATEle_wp_postsSETpost_content=REPLACE(post_content,'Â','')WHEREpost_contentLIKE'%Â%'我也尝试过省略UPDATE语句中的WHERE子句。有什么明显的原因让我忽略了导致这个问题的原因吗?或者我可以采取哪些步骤进一步调查原因?我的SQL不是最好的。 最佳答案 我做了以下测