标签: regexp-replace

Laravel preg_match():找不到结尾分隔符'/'

我正在使用Laravel 4.2.我试图使用Validator验证名称字段与正则表达式,这是我的规则如下:

 public static $rules_save = [

        'class_subjects' => 'required|regex:/[0-9]([0-9]|-(?!-))+/'
    ];
Run Code Online (Sandbox Code Playgroud)

但是只要我调用规则验证就会抛出错误,请参阅下面的内容:

preg_match(): No ending delimiter '/' found
Run Code Online (Sandbox Code Playgroud)

php regex laravel laravel-4 regexp-replace

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

从PostgreSQL中的字段中提取数字

我在Postgres 8.4 中有一个po_number类型列的表varchar.它存储带有一些特殊字符的字母数字值.我想忽略这些字符[/alpha/?/$/encoding/.]并检查列是否包含数字.如果它是一个数字,那么它需要作为数字进行类型转换,否则传递null,因为我的输出字段po_number_new是一个数字字段.

以下是示例:

例

SQL小提琴.

我厌倦了这句话:

select 
(case when  regexp_replace(po_number,'[^\w],.-+\?/','') then po_number::numeric
else null
end) as po_number_new from test
Run Code Online (Sandbox Code Playgroud)

但是我为显式转换得到了一个错误:

错误

regex postgresql conditional case regexp-replace

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

REGEXP_REPLACE捕获组

我想知道是否有人可以帮助我理解如何使用Hive的regexp_replace函数来捕获正则表达式中的组并在替换字符串中使用这些组.

我有一个示例问题,我正在通过下面的工作,涉及日期修改.在这个例子中,我的目标是获取与SimpleDateFormat解析不兼容的字符串日期,并进行一些小调整以使其兼容.日期字符串(如下所示)需要在字符串中的偏移符号(+/-)前面添加"GMT".

所以,给定输入:

  '2015-01-01 02:03:04 +0:00' 
  -or-
  '2015-01-01 02:03:04 -1:00' 
Run Code Online (Sandbox Code Playgroud)

我想要输出:

  '2015-01-01 02:03:04 GMT+0:00'
  -or-
  '2015-01-01 02:03:04 GMT-1:00'
Run Code Online (Sandbox Code Playgroud)

这是一个我认为会起作用的声明的简单例子,但我得到了奇怪的输出.

Hive查询:

select regexp_replace('2015-01-01 02:03:04 +0:00', ' ([+-])', ' GMT\1');
Run Code Online (Sandbox Code Playgroud)

实际结果:

2015-01-01 02:03:04 GMT10:00
Run Code Online (Sandbox Code Playgroud)

请注意,"\ 1"应输出匹配的组,而是使用数字"1"替换匹配的组.

有人可以帮我理解在替换字符串中引用/输出匹配组的正确方法吗?

谢谢!

regex hadoop hive regexp-replace

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

如何在spark中使用Regexp_replace

我非常新的火花,并希望在数据帧的列执行操作,以替换所有,与列.

假设有一个数据帧x和列x4

x4
1,3435
1,6566
-0,34435
Run Code Online (Sandbox Code Playgroud)

我希望输出为

x4
1.3435
1.6566
-0.34435
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码是

import org.apache.spark.sql.Column
def replace = regexp_replace((x.x4,1,6566:String,1.6566:String)x.x4)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误

import org.apache.spark.sql.Column
<console>:1: error: ')' expected but '.' found.
       def replace = regexp_replace((train_df.x37,0,160430299:String,0.160430299:String)train_df.x37)
Run Code Online (Sandbox Code Playgroud)

任何有关语法,逻辑或任何其他合适方式的帮助都将非常感激

scala apache-spark apache-spark-sql regexp-replace

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

将上部字符转换为下部和下部到上部(反之亦然)

我需要在一些字符串中将所有较低的字符转换为较高的字符,并将所有较低的字符转换

例如

var testString = 'heLLoWorld';
Run Code Online (Sandbox Code Playgroud)

应该

'HEllOwORLD' 
Run Code Online (Sandbox Code Playgroud)

转换后.

在不保存临时字符串的情况下,实现此目的的最常用方法是什么.

如果使用正则表达式实现这样的结果,我会更好.

谢谢.

javascript regex replace regexp-replace

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

将重复字符替换为字符串中的重复次数

我试图提取给定字符重复的次数,并在字符串中使用它来替换它。这是一个例子:

before = c("w","www","answer","test","wwwxww")
after = c("w{1}","w{3}","answ{1}er","test","w{3}xw{2}")
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法,例如结合 gsub 和 regex 来实现这一目标?

before = c("w","www","answer","test")
after = gsub("w+",w"\\{n\\}",before)
Run Code Online (Sandbox Code Playgroud)

结果 :

after = c("w{n},"w{n}","answ{n}er","test")
Run Code Online (Sandbox Code Playgroud)

这个想法是将 n 替换为准确的出现次数

r gsub regexp-replace

7
推荐指数
2
解决办法
151
查看次数

在oracle sql中使用regexp转换数据

我有一个像下面这样的数据,其中有限制.我在这里向他们展示了一个观点

with t_view as (select '6-21  6-21  6-21  6-21  6-21  6-21  6-21  ' as col from dual
union
select '6-20  6-20  6-20  6-20  6-20  ' from dual
union
select '6-9  6-9  6-9  6-9  6-9  6-9  6-9  ' from dual)
Run Code Online (Sandbox Code Playgroud)

我的预期产量是

Mon: 6-21, Tue: 6-21, Wed: 6-21, Thu: 6-21, Fri: 6-21, Sat: 6-21, Sun: 6-21
Mon: 6-20, Tue: 6-20, Wed: 6-20, Thu: 6-20, Fri: 6-20
Mon: 6-9, Tue: 6-9, Wed: 6-9, Thu: 6-9, Fri: 6-9, Sat: 6-9, Sun: 6-9
Run Code Online (Sandbox Code Playgroud)

我想用这样一些独特的模式替换所有那些水平表,然后根据索引用Mon,Tue替换那个模式

$ …

regex sql oracle regexp-replace

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

SQL Regex - 替换为另一个字段的子字符串

我有一个数据库表(Oracle 11g)的问卷反馈,包括多项选择,多个答案问题.Options列具有用户可以选择的每个值,Answers列具有他们选择的数值.

ID_NO     OPTIONS                               ANSWERS
1001      Apple Pie|Banana-Split|Cream Tea      1|2
1002      Apple Pie|Banana-Split|Cream Tea      2|3
1003      Apple Pie|Banana-Split|Cream Tea      1|2|3
Run Code Online (Sandbox Code Playgroud)

我需要一个能够解码答案的查询,并将答案的文本版本作为单个字符串.

ID_NO     ANSWERS     ANSWER_DECODE
1001      1|2         Apple Pie|Banana-Split
1002      2|3         Banana-Split|Cream Tea
1003      1|2|3       Apple Pie|Banana-Split|Cream Tea
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用正则表达式来替换值并获得子串,但我无法找到一种方法来正确合并这两者.

WITH feedback AS (
  SELECT 1001 id_no, 'Apple Pie|Banana-Split|Cream Tea' options, '1|2' answers FROM DUAL UNION
  SELECT 1002 id_no, 'Apple Pie|Banana-Split|Cream Tea' options, '2|3' answers FROM DUAL UNION
  SELECT 1003 id_no, 'Apple Pie|Banana-Split|Cream Tea' options, '1|2|3' answers FROM DUAL )
SELECT 
  id_no, …
Run Code Online (Sandbox Code Playgroud)

regex sql oracle regexp-substr regexp-replace

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

Python 正则表达式字符串转义为 re.sub 替换参数?

使用re模块可以对替换模式使用转义。例如:

def my_replace(string, src, dst):
    import re
    return re.sub(re.escape(src), dst, string)
Run Code Online (Sandbox Code Playgroud)

虽然这适用于大多数情况,但dst字符串可能包括"\\9"例如。

这会导致一个问题:

  • \\1, \\2... 等dst,文字将被解释为组。
  • 使用re.escape(dst)原因.更改为\..

有没有办法在不引入多余字符转义的情况下转义目的地?


用法示例:

>>> my_replace("My Foo", "Foo", "Bar")
'My Bar'
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好。


>>> my_replace("My Foo", "Foo", "Bar\\Baz")
...
re.error: bad escape \B at position 3
Run Code Online (Sandbox Code Playgroud)

这试图解释\B为具有特殊含义。


>>> my_replace("My Foo", "Foo", re.escape("Bar\\Baz"))
'My Bar\\Baz'
Run Code Online (Sandbox Code Playgroud)

作品!


>>> my_replace("My Foo", "Foo", re.escape("Bar\\Baz."))
'My Bar\\Baz\\.'
Run Code Online (Sandbox Code Playgroud)

.当我们不想要的时候,它就逃脱了。


虽然在这种情况下str.replace可以使用,但关于目标字符串的问题仍然有用,因为有时我们可能想要使用其他功能,re.sub …

python regex regexp-replace

6
推荐指数
2
解决办法
1005
查看次数

Python 3.7.4:'re.error: 位置 0 处的错误转义 \s'

我的程序看起来像这样:

import re
# Escape the string, in case it happens to have re metacharacters
my_str = "The quick brown fox jumped"
escaped_str = re.escape(my_str)
# "The\\ quick\\ brown\\ fox\\ jumped"
# Replace escaped space patterns with a generic white space pattern
spaced_pattern = re.sub(r"\\\s+", r"\s+", escaped_str)
# Raises error
Run Code Online (Sandbox Code Playgroud)

错误是这样的:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/swfarnsworth/programs/pycharm-2019.2/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "/home/swfarnsworth/programs/pycharm-2019.2/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in …
Run Code Online (Sandbox Code Playgroud)

python regex regexp-replace python-3.7

5
推荐指数
3
解决办法
2万
查看次数