我想从数据库中筛选出重复的客户名称.单个客户可能有多个具有相同名称的系统条目,但拼写上的差异很小.所以这是一个例子:一个名为Brook的客户可能有三个条目进入系统:
我们假设我们将此名称放在一个数据库列中.我想知道识别此类重复的不同机制,例如100,000条记录.我们可以在C#中使用正则表达式来遍历所有记录或其他一些模式匹配技术,或者我们可以将这些记录导出到最适合此类查询的内容(具有正则表达式功能的SQL)).
这就是我认为的解决方案
所以请转发任何想法.
我正在使用c#.net开发一个应用程序,其中我需要如果用户输入的输入包含字符' - '(连字符),那么我想连接连字符( - )的直接邻居,例如,如果用户输入
A-B-C then i want it to be replaced with ABC
AB-CD then i want it to be replaced like BC
ABC-D-E then i want it to be replaced like CDE
AB-CD-K then i want it to be replaced like BC and DK both separated by keyword and
Run Code Online (Sandbox Code Playgroud)
得到这个后,我必须准备我的查询到数据库.
我希望我能解决问题,但如果需要更多澄清,请告诉我.任何帮助将不胜感激.
谢谢,Devjosh
我需要一个正则表达式来捕获括号之间的参数.不应该捕获论证之前和之后的空白.例如,"( ab & c )"应该返回"ab & c".如果需要前导或尾随空白,则可以将参数括在单引号中.所以,"( ' ab & c ' )"应该回来" ab & c ".
wstring String = L"( ' ab & c ' )";
wsmatch Matches;
regex_match( String, Matches, wregex(L"\\(\\s*(?:'(.+)'|(.+?))\\s*\\)") );
wcout << L"<" + Matches[1].str() + L"> " + L"<" + Matches[2].str() + L">" + L"\n";
// Results in "<> < ' ab & c '>", not OK
Run Code Online (Sandbox Code Playgroud)
似乎第二种选择匹配,但它也占据了第一个引用前面的空间!应该\s在开括号之后抓住它.
删除第二个替代方案:
regex_match( String, Matches, wregex(L"\\(\\s*(?:'(.+)')\\s*\\)") );
wcout …Run Code Online (Sandbox Code Playgroud) 在T-SQL中,我使用NEWID()函数生成了UNIQUEIDENTIFIER.例如:
723952A7-96C6-421F-961F-80E66A4F29D2
Run Code Online (Sandbox Code Playgroud)
然后,-删除所有破折号(),它看起来像这样:
723952A796C6421F961F80E66A4F29D2
Run Code Online (Sandbox Code Playgroud)
现在,我需要UNIQUEIDENTIFIER使用以下格式xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx将上面的字符串转换为有效并再次设置破折号.
为了实现这一点,我使用这个正则表达式SQL CLR的C# RegexMatches函数实现,^.{8}|.{12}$|.{4}这给了我:
SELECT *
FROM [dbo].[RegexMatches] ('723952A796C6421F961F80E66A4F29D2', '^.{8}|.{12}$|.{4}')
Run Code Online (Sandbox Code Playgroud)

使用上面的内容,我可以轻松地再次构建一个正确的,UNIQUEIDENTIFIER但我想知道如何OR在正则表达式中计算运算符.例如,以下内容不起作用:
SELECT *
FROM [dbo].[RegexMatches] ('723952A796C6421F961F80E66A4F29D2', '^.{8}|.{4}|.{12}$')
Run Code Online (Sandbox Code Playgroud)

它是确保第一个正则表达式将首先匹配的开始和字符串的结尾,那么其他的值,并且总是在这个顺序返回比赛(我会有问题,如果举例来说,96C6在后匹配421F).
Sublime Text 使用什么正则表达式语法?POSIX?POSIX 扩展?
我有以下字符串
string <- c('a - b - c - d',
'z - c - b',
'y',
'u - z')
Run Code Online (Sandbox Code Playgroud)
我想将它分配,以便第二次出现' - '后的所有内容都被丢弃.
结果是这样的:
> string
[1] "a - b" "z - c" "y" "u - z"
Run Code Online (Sandbox Code Playgroud)
我用过substr(x = string, 1, regexpr(string, pattern = '[^ - ]*$') - 4),但它排除了最后一次' - ',这不是我想要的.
我正在尝试使用Java检查字符串是否包含整个单词.以下是一些例子:
Text : "A quick brown fox"
Words:
"qui" - false
"quick" - true
"quick brown" - true
"ox" - false
"A" - true
Run Code Online (Sandbox Code Playgroud)
以下是我的代码:
String pattern = "\\b(<word>)\\b";
String s = "ox";
String text = "A quick brown fox".toLowerCase();
System.out.println(Pattern.compile(pattern.replaceAll("<word>", s.toLowerCase())).matcher(text).find());
Run Code Online (Sandbox Code Playgroud)
它与我在上面的例子中提到的字符串一样正常工作.但是,如果输入字符串包含类似等字符%,则会得到不正确的结果(,例如:
Text : "c14, 50%; something (in) bracket"
Words:
"c14, 50%;" : false
"(in) bracket" : false
Run Code Online (Sandbox Code Playgroud)
它与我的regex模式有关(或者我正在做错误的整个模式匹配).谁能建议我一个更好的方法.
我有以下文字:
I don't like to eat Cici's food (it is true)
我需要将它标记为
['i', 'don't', 'like', 'to', 'eat', 'Cici's', 'food', '(', 'it', 'is', 'true', ')']
我发现以下正则表达式(['()\w]+|\.)拆分如下:
['i', 'don't', 'like', 'to', 'eat', 'Cici's', 'food', '(it', 'is', 'true)']
如何从令牌中取出括号并使其成为自己的令牌?
谢谢你的想法。
我正在编写一些抓取代码并遇到上述错误。我的代码如下。
# -*- coding: utf-8 -*-
import scrapy
from myproject.items import Headline
class NewsSpider(scrapy.Spider):
name = 'IC'
allowed_domains = ['kosoku.jp']
start_urls = ['http://kosoku.jp/ic.php']
def parse(self, response):
"""
extract target urls and combine them with the main domain
"""
for url in response.css('table a::attr("href")'):
yield(scrapy.Request(response.urljoin(url), self.parse_topics))
def parse_topics(self, response):
"""
pick up necessary information
"""
item=Headline()
item["name"]=response.css("h2#page-name ::text").re(r'.*??????????')
item["road"]=response.css("div.ic-basic-info-left div:last-of-type ::text").re(r'.*?$')
yield item
Run Code Online (Sandbox Code Playgroud)
当我在 shell 脚本上单独执行它们时,我可以获得正确的响应,但是一旦它进入程序并运行,它就不会发生。
2017-11-27 18:26:17 [scrapy.core.scraper] ERROR: Spider error processing <GET http://kosoku.jp/ic.php> (referer: None)
Traceback (most recent call …Run Code Online (Sandbox Code Playgroud) 我试图删除字符串中的括号,如下所示.
library(stringr)
x <- "(Verhoeff,1937)"
str_replace(string = x, pattern = "(\\()|(\\))", replacement = "")
[1] "Verhoeff,1937)"
gsub(pattern = "(\\()|(\\))", replacement = "", x = x)
[1] "Verhoeff,1937"
Run Code Online (Sandbox Code Playgroud)
str_replace似乎没有找到结束括号?有什么想法吗?
regex ×6
string ×5
c# ×3
.net ×2
r ×2
c++ ×1
gsub ×1
java ×1
linq-to-sql ×1
python ×1
replace ×1
scrapy ×1
split ×1
sql ×1
sql-server ×1
stringr ×1
sublimetext ×1
sublimetext2 ×1
sublimetext3 ×1
sublimetext4 ×1
tokenize ×1
typeerror ×1