Odbc与php、c#、preg_匹配这段代码可能吗
我想知道这是否可行 } 报警文本字符串示例: Prio 1 TOM KRANENBURGSTRAAT 140 ENKHUIZEN建筑品牌ENK646 因此字符串保存在代码的两个位置:Odbc与php、c#、preg_匹配这段代码可能吗,c#,php,odbc,preg-match,C#,Php,Odbc,Preg Match,我想知道这是否可行 } 报警文本字符串示例: Prio 1 TOM KRANENBURGSTRAAT 140 ENKHUIZEN建筑品牌ENK646 因此字符串保存在代码的两个位置: preg_match('/(.*\s)([A-Z]+.[0-9]*)(\s.[A-Z]*\s)/', string2, matches); preText = matches[1]; streetName = matches[2]; postText = matches[4]; city = matches[3]
preg_match('/(.*\s)([A-Z]+.[0-9]*)(\s.[A-Z]*\s)/', string2, matches);
preText = matches[1];
streetName = matches[2];
postText = matches[4];
city = matches[3];
与C#中的此代码类似:
(请注意,代码将失败:您的代码显示四个捕获组(preText、streetName、postText和city),但您的表达式只有三个((.*\s)
、([A-Z]+[0-9]*)
)和(\s.[A-Z]*\s)
)
在PHP中,preg_match
如果匹配成功将返回1,如果匹配失败将返回0。您可以查询m.Success
以获得等效值(即匹配成功时返回true,匹配失败时返回false)
原始表达式区分大小写(例如,[A-Z]
将不匹配小写字母。如果希望搜索不区分大小写,请更改行:
Match m = Regex.Match(string2, @"(.*\s)([A-Z]+.[0-9]*)(\s.[A-Z]*\s)");
到
谢谢你的回答
我会解释我在做什么
我是一名消防员,我在一个网站上工作。这个网站显示了我们的消防/ems呼叫
优先级1=紧急程度(必须插入警报中)
TOM KRANENBURGSTRAAT 140=街道(必须插入地址)
ENKHUIZEN=城市(必须插入地址)
Buitenbrand=消息类型(必须插入数据1)
ENK646=消防车编号(必须插入描述中)
把它们分成5组是很好的,但我把它分成了4组。
街道名称总是大写字母
这是我的sql:
CREATE TABLE IF NOT EXISTS `brandweer_reports` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data1` varchar(255) NOT NULL DEFAULT 'Won',
`image` varchar(255) DEFAULT NULL,
`address` text NOT NULL,
`date1` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`date2` datetime DEFAULT '0000-00-00 00:00:00',
`date3` datetime DEFAULT '0000-00-00 00:00:00',
`summary` text,
`boss` varchar(255) DEFAULT NULL,
`people` varchar(11) NOT NULL DEFAULT '0',
`department` int(11) NOT NULL DEFAULT '0',
`desc` text,
`published` tinyint(1) NOT NULL DEFAULT '1',
`alerting` varchar(255) NOT NULL DEFAULT '0',
`gmap_report_latitude` varchar(255) NOT NULL DEFAULT '0',
`gmap_report_longitude` varchar(255) NOT NULL DEFAULT '0',
`counter` int(11) NOT NULL DEFAULT '0',
`gmap` tinyint(6) NOT NULL DEFAULT '1',
`presse` varchar(255) NOT NULL,
`presse2` varchar(255) NOT NULL,
`presse3` varchar(255) NOT NULL,
`updatename` varchar(255) NOT NULL DEFAULT 'admin',
`updatedate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`boss2` varchar(255) NOT NULL,
`einsatzticker` int(11) NOT NULL DEFAULT '0',
`notrufticker` int(11) NOT NULL DEFAULT '0',
`status` int(11) NOT NULL DEFAULT '0',
`tickerKAT` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `date1` (`date1`),
KEY `published` (`published`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
如果不存在“brandweer_报告”,则创建表(
`id`int(11)非空自动增量,
`data1`varchar(255)非空默认值'Won',
`image`varchar(255)默认为空,
`地址`文本不为空,
`date1`datetime非空默认值'0000-00-00 00:00:00',
`date2`datetime默认值'0000-00-00 00:00:00',
`date3`datetime默认值'0000-00-00 00:00:00',
`摘要`案文,
`boss`varchar(255)默认为空,
`people`varchar(11)非空默认值'0',
`部门'int(11)不为空默认值'0',
`desc`text,
`已发布的'tinyint(1)非空默认值'1',
`警告'varchar(255)非空默认值'0',
`gmap_报告纬度'varchar(255)非空默认值'0',
`gmap_报告经度'varchar(255)非空默认值'0',
`计数器'int(11)不为空默认值'0',
`gmap`tinyint(6)非空默认值'1',
`按'varchar(255)NOT NULL,
`按2`varchar(255)NOT NULL,
`按3`varchar(255)NOT NULL,
`updatename`varchar(255)非空默认值'admin',
`updatedate`datetime非空默认值'0000-00-00 00:00:00',
`boss2`varchar(255)不为空,
`einsatzticker`int(11)非空默认值'0',
`notrufticker`int(11)不为NULL默认值为'0',
`状态'int(11)非空默认值'0',
`tickerKAT`int(11)非空默认值'0',
主键(`id`),
键'date1'('date1'),
键`published`(`published`)
)ENGINE=MyISAM默认字符集=utf8自动增量=2;
Match m = Regex.Match(string2, @"(.*\s)([A-Z]+.[0-9]*)(\s.[A-Z]*\s)");
Match m = Regex.Match(string2, @"(.*\s)([A-Z]+.[0-9]*)(\s.[A-Z]*\s)",
RegexOptions.IgnoreCase);
CREATE TABLE IF NOT EXISTS `brandweer_reports` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data1` varchar(255) NOT NULL DEFAULT 'Won',
`image` varchar(255) DEFAULT NULL,
`address` text NOT NULL,
`date1` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`date2` datetime DEFAULT '0000-00-00 00:00:00',
`date3` datetime DEFAULT '0000-00-00 00:00:00',
`summary` text,
`boss` varchar(255) DEFAULT NULL,
`people` varchar(11) NOT NULL DEFAULT '0',
`department` int(11) NOT NULL DEFAULT '0',
`desc` text,
`published` tinyint(1) NOT NULL DEFAULT '1',
`alerting` varchar(255) NOT NULL DEFAULT '0',
`gmap_report_latitude` varchar(255) NOT NULL DEFAULT '0',
`gmap_report_longitude` varchar(255) NOT NULL DEFAULT '0',
`counter` int(11) NOT NULL DEFAULT '0',
`gmap` tinyint(6) NOT NULL DEFAULT '1',
`presse` varchar(255) NOT NULL,
`presse2` varchar(255) NOT NULL,
`presse3` varchar(255) NOT NULL,
`updatename` varchar(255) NOT NULL DEFAULT 'admin',
`updatedate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`boss2` varchar(255) NOT NULL,
`einsatzticker` int(11) NOT NULL DEFAULT '0',
`notrufticker` int(11) NOT NULL DEFAULT '0',
`status` int(11) NOT NULL DEFAULT '0',
`tickerKAT` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `date1` (`date1`),
KEY `published` (`published`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;