gpt4 book ai didi

ruby - 匹配没有空格的单词并且必须包含单词的特定开头

转载 作者:数据小太阳 更新时间:2023-10-29 08:43:03 25 4
gpt4 key购买 nike

我正在尝试匹配

司机。在

def fun
driver.find_element(:link_text, "Standard Menu Rates").click
driver.find_element(:id, "jpform:fromStation").send_keys("HOSUR - HSRA")
@driver.find_element(:id, "jpform:toStation").send_keys("SATUR - SRT")

所以我必须写下面的正则表达式

^driver.

但是司机。在单词前面有一些空格,所以它不匹配,我如何消除空格并坚持字符串的开头作为驱动程序而不是@driver 或不是任何其他单词?

输入

def fun
driver.find_element(:link_text, "Standard Menu Rates").click
driver.find_element(:id, "jpform:fromStation").send_keys("HOSUR - HSRA")
@driver.find_element(:id, "jpform:toStation").send_keys("SATUR - SRT")

输出

    driver.find_element(:link_text, "Standard Menu Rates").click
driver.find_element(:id, "jpform:fromStation").send_keys("HOSUR - HSRA")

还有,

我知道要匹配“”内的那些词,但我如何匹配双引号外的那些词?

输入

# 0 = {String@3546} "Policy Duration (Days)"
# 1 = {String@3547} "Related Proposal Nr."

输出

# 0 = {String@3546} 
# 1 = {String@3547}

最佳答案

根据您的评论,您想要匹配行的开头,然后是同一行上的任意数量的空格,然后是driver,然后是一个点。

您需要使用 [[:blank:]]*(它将匹配任何 0+ Unicode 水平 whitesdace 字符)。另请注意,. 应转义以匹配文字 ..

使用

/^[[:blank:]]*driver\./

参见 Rubular demo

详情

  • ^ - 行首
  • [[:blank:]]* - 0+ 水平 空白字符
  • driver - 文字子串
  • \. - 一个点。

至于第二部分,您可以使用

从字符串中删除 "..." 子字符串
s.gsub(/[[:blank:]]*"[^"]*"$/, '')

查看此 Rubular demo

或者,如果您想匹配一个行部分到第一个",您可以使用

/^[^"\r\n]+/

参见 this Rubular demo

关于ruby - 匹配没有空格的单词并且必须包含单词的特定开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46274126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com