我正在尝试将from sklearn.linear_model import ElasticNetCV
from sklearn.datasets import make_regression
X, y = make_regression(n_features=2, random_state=0)
regr = ElasticNetCV(cv=5, random_state=0)
regr.fit(X, y)
>>> (regr.alpha_, regr.alphas_.min())
(0.1994727942696716, 0.1994727942696716)
这样的字符串中的字符的第一个实例与XPath::replace匹配为 only ,并用# to click into each drop down table rows
driver.switch_to.default_content()
driver.switch_to.frame(driver.find_element_by_name('mainFrame'))
driver.switch_to.frame(driver.find_element_by_name('ListWeb'))
page = BeautifulSoup(driver.page_source, "html.parser")
items = page.select(".Level2Table tr[name^='Item']")
for item in items:
item_data = item.select("td")
pmid = item_data[0].text
plant = item_data[1].text
direction = "up" if "up_arrow.png" in item_data[2].select_one("img").attrs["src"] else "down"
disease = item_data[3].text
print(f"pmid: {pmid}, plant: {plant}, direction: {direction}, disease: {disease}")
替换它结果字符串为sdtmig-3-1-2
。除了可以在其中包含一个或多个破折号之外,我无法保证有关该模式的其他任何事项。我很难找到仅与/
的特定第一个实例一致的正则表达式模式。
我觉得自己很亲近:
sdtmig/3-1-2
但这也与完整字符串匹配,所以不好。
请不要使用仅适用于https://regex101.com的普通正则表达式来提供解决方案。 正则表达式的“风味”应遵守XPath / XQuery语义(https://www.w3.org/TR/xmlschema-2/#regexs)。我无法控制正则表达式搜索中的全局标志。
答案 0 :(得分:0)
在不引入g
(global flag)的情况下,正则表达式最多将匹配一次。这等效于像'sdtmig-3-1-2'.replace('-', '/')
这样的普通replace
调用,其结果为"sdtmig/3-1-2"
。
例如:
console.log('sdtmig-3-1-2'.replace(/-/, '/'));
使用全局标志,它将替换所有出现的内容:
console.log('sdtmig-3-1-2'.replace(/-/g, '/'));
您还可以在第一次出现之前使用任何内容的惰性前缀匹配,然后将匹配的组替换为其原始内容,以便它们围绕被替换的字符。请参见正则表达式:
(.*?)-(.*)
and a substitution of $1/$2
。
这应该适用于XQuery replace function。
console.log('sdtmig-3-1-2'.replace(/(.*?)-(.*)/, '$1/$2'));