分隔符
PCRE库函数中,正则匹配模式使用分隔符与元字符组成,分隔符可以是非数字、非反斜线、非空格的任意字符。经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~),例如:
/foo bar/
#^[^0-9]$#
~php~
如果模式中包含分隔符,则分隔符需要使用反斜杠(\)进行转义。
/http:\/\//
如果模式中包含较多的分割字符,建议更换其他的字符作为分隔符,也可以采用preg_quote进行转义。
$p = 'http://';
$p = '/'.preg_quote($p, '/').'/';
echo $p;
分隔符后面可以使用模式修饰符,模式修饰符包括:i, m, s, x等,例如使用i修饰符可以忽略大小写匹配:
$str = "Http://www.imooc.com/";
if (preg_match('/http/i', $str)) {
echo '匹配成功';
}
元字符与转义
正则表达式中具有特殊含义的字符称之为元字符,常用的元字符有:
\ 一般用于转义字符 ^ 断言目标的开始位置(或在多行模式下是行首) $ 断言目标的结束位置(或在多行模式下是行尾) . 匹配除换行符外的任何字符(默认) [ 开始字符类定义 ] 结束字符类定义 | 开始一个可选分支 ( 子组的开始标记 ) 子组的结束标记 ? 作为量词,表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词)
量词,1 次或多次匹配 { 自定义量词开始标记 } 自定义量词结束标记
//下面的\s匹配任意的空白符,包括空格,制表符,换行符。[^\s]代表非空白符。[^\s]+表示一次或多次匹配非空白符。
$p = '/^我[^\s]+(苹果|香蕉)$/';
$str = "我喜欢吃苹果";
if (preg_match($p, $str)) {
echo '匹配成功';
}
元字符具有两种使用场景,一种是可以在任何地方都能使用,另一种是只能在方括号内使用,在方括号内使用的有:
\ 转义字符 ^ 仅在作为第一个字符(方括号内)时,表明字符类取反
其中^在反括号外面,表示断言目标的开始位置,但在方括号内部则代表字符类取反,方括号内的减号-可以标记字符范围,例如0-9表示0到9之间的所有数字。
//下面的\w匹配字母或数字或下划线。
$p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/';
$str = "我的邮箱是[email protected] ";
preg_match($p, $str, $match);
echo $match[0];
贪婪模式与懒惰模式
正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。
贪婪模式:在可匹配与可不匹配的时候,优先匹配
//下面的\d表示匹配数字
$p = '/\d+\-\d+/';
$str = "我的电话是010-12345678";
preg_match($p, $str, $match);
echo $match[0]; //结果为:010-12345678
懒惰模式:在可匹配与可不匹配的时候,优先不匹配
$p = '/\d?\-\d?/';
$str = "我的电话是010-12345678";
preg_match($p, $str, $match);
echo $match[0]; //结果为:0-1
当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数
$p = '/\d{3}\-\d{8}/';
$str = "我的电话是010-12345678";
preg_match($p, $str, $match);
echo $match[0]; //结果为:010-12345678
查找所有匹配结果
preg_match只能匹配一次结果,但很多时候我们需要匹配所有的结果,preg_match_all可以循环获取一个列表的匹配结果数组。
$p = "|<[^>]+>(.*?)[^>]+>|i";
$str = "example: this is a test
";
preg_match_all($p, $str, $matches);
print_r($matches);
可以使用preg_match_all匹配一个表格中的数据:
$p = "/(.*?)<\/td>\s* (.*?)<\/td>\s*<\/tr>/i";
$str = "";
preg_match_all($p, $str, $matches);
print_r($matches);
matches结果排序为 matches[0]保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配,以此类推。
正则表达式的搜索和替换
正则表达式的搜索与替换在某些方面具有重要用途,比如调整目标字符串的格式,改变目标字符串中匹配字符串的顺序等。
例如简单的调整字符串的日期格式:
$string = 'April 15, 2014';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '$3, ${1} $2';
echo preg_replace($pattern, $replacement, $string); //结果为:2014, April 15
其中${1}与$1的写法是等效的,表示第一个匹配的字串,$2代表第二个匹配的。
通过复杂的模式,我们可以更加精确的替换目标字符串的内容。
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
'/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');//\3等效于$3,\4等效于$4,依次类推
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27'); //结果为:$startDate = 5/27/1999
//详细解释下结果:(19|20)表示取19或者20中任意一个数字,(\d{2})表示两个数字,(\d{1,2})表示1个或2个数字,(\d{1,2})表示1个或2个数字。^\s*{(\w+)}\s*=表示以任意空格开头的,并且包含在{}中的字符,并且以任意空格结尾的,最后有个=号的。
用正则替换来去掉多余的空格与字符:
$str = 'one two';
$str = preg_replace('/\s+/', ' ', $str);
echo $str; // 结果改变为'one two'
你可能感兴趣的:(php进阶(二)之正则表达式)
C++中map和set的详解
黑猫Teng
c++ 算法 开发语言
C++中map和set的介绍与使用在C++编程中,map和set是标准模板库(STL)中两种非常重要的关联容器。它们基于平衡二叉搜索树(通常是红黑树)的数据结构来实现,提供了高效的数据存储和检索功能。本文将详细介绍map和set的特点、用法以及一些常见的操作示例。一、map的介绍与使用1.map的基本概念map是一个键值对容器,其中每个键都是唯一的,且按照升序排序。map的内部结构是红黑树,这使得
基于等级保护梳理服务器安全合规基线 - 副本
程序员鬼鬼
服务器 安全 php 网络安全 web安全 开发语言 计算机网络
背景作为运维,当对新上架的服务器装完操作系统后,第一步就是对操作系统进行初始化配置来保证配置合规,此时你可能就会有疑问:我们应该初始化哪些参数,有没有相关标准参考呢?要想真正了解进行初始化配置的目的,我们先来科普一下相关法律:网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!《中华人民共和国网络安全法》第二十一条规定,国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的
Java常用集合与映射的线程安全问题深度解析
misschen888
java 安全 开发语言
Java常用集合与映射的线程安全问题深度解析一、线程安全基础认知在并发编程环境下,当多个线程同时操作同一集合对象时,若未采取同步措施,可能导致以下典型问题:数据竞争:多个线程同时修改数据导致结果不可预测状态不一致:部分线程看到集合的中间状态内存可见性:线程本地缓存与主内存数据不同步死循环风险:特定操作引发无限循环(如JDK7的HashMap扩容)二、典型非线程安全集合问题分析1.ArrayList
Java常用集合与映射的线程安全问题深度解析
longdong7889
java 安全 开发语言
Java常用集合与映射的线程安全问题深度解析一、线程安全基础认知在并发编程环境下,当多个线程同时操作同一集合对象时,若未采取同步措施,可能导致以下典型问题:数据竞争:多个线程同时修改数据导致结果不可预测状态不一致:部分线程看到集合的中间状态内存可见性:线程本地缓存与主内存数据不同步死循环风险:特定操作引发无限循环(如JDK7的HashMap扩容)二、典型非线程安全集合问题分析1.ArrayList
C++内存管理秘籍:深入解析与实战代码示例
萱萱199504
c++ java 开发语言
C++内存管理秘籍:深入解析与实战代码示例一、内存管理的基本概念二、内存泄漏与野指针三、智能指针:现代C++的内存管理利器四、实战代码示例示例1:传统动态内存管理示例2:使用`std::unique_ptr`示例3:使用`std::shared_ptr`五、总结在C++编程的世界里,内存管理是一项既基础又核心的技能。它直接关系到程序的性能、稳定性和可维护性。不同于一些高级语言自动管理内存的特性,C
Ubuntu系统中NVIDIA-SMI 报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.
QuietNightThought
Linux linux python
文章目录一、介绍二、解决办法一:安装必要的内核头文件三、解决办法二:使用DKMS重新安装内核的NVIDIA驱动程序(我用这个方法解决了问题)四:解决办法三:安装NVIDIA驱动程序一、介绍当服务器未安装NVIDIA驱动程序,或驱动程序版本与显卡不匹配时,或者安装了某些系统软件或系统更新了内核时,服务器重启后可能无法连接到NVIDIA驱动程序。错误消息如下:$nvidia-smiNVIDIA-SMI
Java常用集合与映射的线程安全问题深度解析
jiajia651304
java 安全 开发语言
Java常用集合与映射的线程安全问题深度解析一、线程安全基础认知在并发编程环境下,当多个线程同时操作同一集合对象时,若未采取同步措施,可能导致以下典型问题:数据竞争:多个线程同时修改数据导致结果不可预测状态不一致:部分线程看到集合的中间状态内存可见性:线程本地缓存与主内存数据不同步死循环风险:特定操作引发无限循环(如JDK7的HashMap扩容)二、典型非线程安全集合问题分析1.ArrayList
Spring Boot实战:MySQL与Redis数据一致性深度解析与代码实战
算法探险家
spring boot mysql redis
SpringBoot实战:MySQL与Redis数据一致性深度解析与代码实战一、数据一致性问题概述二、常见解决方案三、选择合适的解决方案四、总结在SpringBoot开发中,MySQL作为关系型数据库,提供了强大的数据存储和查询能力;而Redis作为内存数据库,以其高速读写性能成为缓存层的首选。然而,当这两者共同服务于一个系统时,如何确保它们之间的数据一致性,成为了一个不可忽视的问题。本文将深入探
Linux基础指令详解:掌握Linux系统的必备技能
智能编织者
linux 服务器 运维
Linux基础指令详解:掌握Linux系统的必备技能一、Linux基础指令概述二、基础指令详解1.**ls**2.**cd**3.**pwd**4.**mkdir**5.**rmdir**6.**rm**7.**cp**8.**mv**9.**cat**10.**more**和**less**11.**chmod**12.**chown**13.**df**14.**du**15.**ps**16
设计模式六大原则(3):依赖倒置原则
岸似达春绿
设计模式 设计模式 设计模式 string class 编程 setter interface
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或
【异常】 The engine “node“ is incompatible with this module. Expected version “^14.18.0 || >=16.0.0“.
本本本添哥
007 - 大前端技术 前端 yarn npm
一、报错内容二、报错说明这个错误提示表示你的Node.js版本与该模块不兼容。三、报错解决3.1使用cnpm来安装cnpminstall3.2将Node.js版本升级到14.18.0或更高版本需要将Node.js版本升级到14.18.0或更高版本,或者降级到16.0.0或更高版本。你可以通过以下命令查看当前Node.js版本:node-v如果你需要升级或降级Node.js版本,可以访问Node.j
蓝桥杯Python赛道备赛——Day6:算术(二)(数学问题)
SKY YEAM
蓝桥杯备赛 蓝桥杯 python 职场和发展
本期博客是蓝桥杯备赛中算术(数学问题)的第二期,包括:快速幂算法、逆元(模意义下的倒数)、组合数计算和排列数计算。每一种数学问题都在给出定义的同时,给出了其求解方法的示例代码,以供低年级师弟师妹们学习和练习。前序知识:(1)Python基础语法算术(二)(数学问题)一、快速幂算法二、逆元(模意义下的倒数)三、组合数计算四、排列数计算一、快速幂算法1.定义:快速计算大指数幂的算法。2.算法原理:二进
蓝桥杯Python赛道备赛——Day1:基础算法
SKY YEAM
蓝桥杯备赛 蓝桥杯 python 算法
本博客就蓝桥杯中的基础算法(这一部分说是算法,但更是一些简单的操作)进行罗列,包括:枚举、模拟、前缀和、差分、二分查找、进制转换、贪心、位运算和双指针。每一个算法都在给出概念解释的同时,给出了示例代码,以供低年级师弟师妹们学习和练习。前序知识:(1)Python基础语法(2)PythonOOP(面向对象编程)基础算法(操作)一、枚举二、模拟三、前缀和四、差分五、二分查找六、进制转换七、贪心八、位运
Android 使用MediaPlayer播放音频详解
吴硼
android java
目录一、官方资料二、简单介绍三、MediaPlayer使用1.创建MediaPlayer实例2.重要API3.状态图4.代码5.常用API6.辅助效果总结一、官方资料MediaPlayer概览https://developer.android.google.cn/guide/topics/media/mediaplayer?hl=zh_cnMediaPlayer文档https://develope
蓝桥杯Python赛道备赛——Day7:动态规划(基础)
SKY YEAM
蓝桥杯备赛 蓝桥杯 python 动态规划
本博客就蓝桥杯中所涉及的动态规划基础问题进行讲解,包括:递推、记忆化搜索、最长公共子序列(LCS)和最长上升子序列(LIS)。每一种动态规划问题都在给出定义的同时,给出了其求解方法的示例代码,以供低年级师弟师妹们学习和练习。前序知识:(1)Python基础语法动态规划(基础)一、递推(迭代法)二、记忆化搜索(递归+缓存)三、最长公共子序列(LCS)四、最长上升子序列(LIS)一、递推(迭代法)定义
Spring设计模式 八股速记 高层模块底层模块 依赖倒置原则 开闭原则 接口隔离原则
她说喜欢是装的.
# SpringBoot # JavaSE web后端开发 java 开发语言 cocoa github macos objective-c 数据库
目录高层模块底层模块一、定义与核心思想二、实现方式三、优点与价值四、典型应用场景五、与其他原则的关系示例说明依赖倒置原则一、定义与核心思想二、实现方式三、优点与价值四、典型应用场景五、与其他原则的关系示例说明自己理解开闭原则1.抽象化与接口设计2.封装与模块化3.多态性与继承机制4.依赖抽象而非具体实现5.设计原则的协同作用总结接口隔离原则一、核心定义二、与单一职责原则的区别三、应用场景与实现方式
【Java】ReadWriteLock浅谈
风起云涌~
java 开发语言 jvm
一,概述在多读少写的场景下,可以使用读写锁优化性能。读锁本质是一种共享锁,即,如果ReadLock获取锁成功,只会阻塞WriteLock锁的获取,不会阻塞其它线程ReadLock锁的获取。而写锁就是正常的独占锁。二,简单实例一个简单demo,读者可体会。publicstaticvoidmain(String[]args){ReadWriteLocklock=newReentrantReadWrit
Android 面试(Java 篇)
约翰先森不喝酒
面试 java 面试 android
Android面试(Java篇)一Java的继承机制二进程跟线程,以及线程的创建三简述wait()和sleep()的区别四如何终止一个线程五Synchronized(内置锁,线程同步)六Synchronized修饰的静态和非静态方法时为什么可以异步执行?七线程同步除了Synchronized还有别的方法么,区别在哪里八死锁产生的原因以及预防措施九Synchronized和Lock的区别十Handl
TCP/IP协议栈全解析:从分层模型到核心协议
学习的时候
网络 tcp/ip 网络 服务器
TCP/IP(TransmissionControlProtocol/InternetProtocol)是互联网的核心协议簇,定义了数据如何在网络中传输。本文将深入探讨TCP/IP的七层模型与五层架构、DNS与FTP等协议的工作原理,以及TCP的三次握手与四次挥手过程及其报文结构。目录一、TCP/IP协议族概述二、OSI七层模型与五层架构OSI七层模型框架TCP/IP五层架构TCP/IP协议的应用
Android 高频面试必问之Java基础
2401_83641443
程序员 android 面试 java
BootstrapClassLoader:Bootstrap类加载器负责加载rt.jar中的JDK类文件,它是所有类加载器的父加载器。Bootstrap类加载器没有任何父类加载器,如果调用String.class.getClassLoader(),会返回null,任何基于此的代码会抛出NUllPointerException异常,因此Bootstrap加载器又被称为初始类加载器。ExtClassL
Android第三次面试(Java基础)
每次的天空
面试 职场和发展 java android
面试题一:在Android里,Array和ArrayList区别?定义与大小:数组声明时要指定大小,之后固定;ArrayList动态,无需提前定大小。性能:二者访问元素快,时间复杂度O(1);数组插入删除繁琐,ArrayList尾部添加快,其他位置操作慢。数据类型:数组能存基本类型和对象,ArrayList只能存对象,存基本类型需用包装类。方法功能:数组自身方法少,靠Arrays类;ArrayLi
基于 ArkTS 的混合式开发示例:静态页面与本地数据交互
qq_55376032
harmonyos 华为 鸿蒙
一、实现效果1、H5段混合式开发效果图2、静态页面与本地数据交互效果图二、技术栈分析ArkTS:用于构建页面结构和逻辑,支持声明式UI和组件化开发。WebView:通过@ohos.web.webview调用H5页面,支持JavaScript交互。资源管理:使用@kit.ArkTS的util模块读取并解析本地JSON文件。自定义对话框:通过@CustomDialog实现自定义弹窗,支持动态数据加载。
Debezium系列之:使用Debezium采集oceanbase数据库
快乐骑行^_^
debezium Debezium系列 采集oceanbase数据库
Debezium系列之:使用Debezium采集oceanbase数据库一、oceanbase数据库二、安装OceanBase三、安装oblogproxy四、基于Docker的简单采集案例五、生产实际应用案例Debezium是一个开源的分布式平台,用于监控数据库变化和捕捉数据变动事件,并以事件流的形式导出到各种消费者。Debezium基于ApacheKafka实现,并支持多种数据库系统。一、oce
系统应用权限设置跳转鸿蒙示例代码
本文原创发布在华为开发者社区。介绍本示例基于设置应用实现引导用户跳转到系统设置页进行权限,通知的相关设置,包含以下两个场景。场景一:如果应用首次拒绝了消息通知,应用希望能够引导用户拉起设置应用设置允许通知,用来接收应用内的推送消息;并且在设置完后返回页面可以监听到修改后的状态。场景二:当用户使用一些需要用户授权的api时(如访问获取联系人信息),若用户首次拒绝授权,则需要引导用户到权限设置页面能够
牛掰黑客师傅就是不一样,讲的内容可能外面的80%师傅都不知道
文盲嘿客
文盲嘿客的黑客成长史 网络安全 web安全 系统安全 安全 网络攻击模型 数据挖掘 深度学习
今天是师傅给我上的第一课,学习的内容归纳总结有以下几点:一、先学做人,再学做事坚定爱国信念:热爱祖国,拥护共产党严守法律红线:要遵纪守法,不得用技术攻击国内传承道德风尚:尊老爱幼,朋友之间应相互支持、携手共进,努力成就彼此。二、认识黑客黑客主要分为以下三类:骇客:这类人专门从事破坏活动,通过恶意手段对网络系统、数据等进行攻击和破坏。白帽黑客:他们专注于为企业或单位进行网络维护工作,防止骇客的攻击。
桥接模式:解耦抽象与实现的利器
wrx繁星点点
# 设计模式 java android 开发语言 桥接模式 intellij-idea spring cloud jvm
1.引言在软件设计中,将抽象与实现分离是一项重要的原则。若将这两者耦合在一起,系统的灵活性和可扩展性将受到限制。桥接模式(BridgePattern)是一种结构型设计模式,旨在通过分离抽象与具体实现,来提高系统的灵活性和可维护性。2.桥接模式的定义桥接模式通过将抽象部分与具体实现部分分离,使得两者可以独立变化。它使用组合的方式,通过引入桥接接口来减少二者之间的耦合,灵活地调整和扩展系统的功能。3.
127.HarmonyOS NEXT 数字滚动示例详解(二):下拉刷新实现
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT数字滚动示例详解(二):下拉刷新实现效果演示1.下拉刷新概述下拉刷新功能通过Refresh组件实现,提供了良好的用户交互体验。2.刷新组件实现2.1基本结构Refresh({refreshing:$this.isRefresh}){th
122.HarmonyOS NEXT 数字滚动动画详解(二):动画实现机制
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT数字滚动动画详解(二):动画实现机制效果演示1.动画实现概述数字滚动动画通过控制每个数字的Y轴偏移量来实现滚动效果,使用animateTo方法来创建平滑的过渡动画。2.数据刷新机制2.1刷新触发@Watch('onDataRefresh
SvelteKit 最新中文文档教程(5)—— 页面选项
前言Svelte,一个语法简洁、入门容易,面向未来的前端框架。从Svelte诞生之初,就备受开发者的喜爱,根据统计,从2019年到2024年,连续6年一直是开发者最感兴趣的前端框架No.1:Svelte以其独特的编译时优化机制著称,具有轻量级、高性能、易上手等特性,非常适合构建轻量级Web项目。为了帮助大家学习Svelte,我同时搭建了Svelte最新的中文文档站点。如果需要进阶学习,也可以入手我
【Spring Boot 中 `@Value` 注解的使用】
武帝为此
前后端 spring boot python 后端
文章目录一、前言二、@Value注解简介三、@Value注解的常见用法1.读取`application.properties`或`application.yml`配置值(1)配置文件示例(2)Java代码示例(3)测试输出2.使用`@Value`设置默认值3.读取系统环境变量和Java运行时参数4.结合SpringExpressionLanguage(SpEL)(1)基本SpEL表达式(2)引用B
jsonp 常用util方法
hw1287789687
jsonp jsonp常用方法 jsonp callback
jsonp 常用java方法
(1)以jsonp的形式返回:函数名(json字符串)
/***
* 用于jsonp调用
* @param map : 用于构造json数据
* @param callback : 回调的javascript方法名
* @param filters : <code>SimpleBeanPropertyFilter theFilt
多线程场景
alafqq
多线程
0
能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0
对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗?
Java多线程
2012年11月23日 15:41 Young9007 Young9007
4
0 0 4
Comment添加评论关注(2)
3个答案 按时间排序 按投票排序
0
0
最典型的如:
1、
Maven学习——修改Maven的本地仓库路径
Kai_Ge
maven
安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。
placeholder的浏览器兼容
120153216
placeholder
【前言】
自从html5引入placeholder后,问题就来了,
不支持html5的浏览器也先有这样的效果,
各种兼容,之前考虑,今天测试人员逮住不放,
想了个解决办法,看样子还行,记录一下。
【原理】
不使用placeholder,而是模拟placeholder的效果,
大概就是用focus和focusout效果。
【代码】
<scrip
debian_用iso文件创建本地apt源
2002wmj
Debian
1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下
2.创建N个挂载点目录
如下:
debian:~#mkdir –r /media/dvd1
debian:~#mkdir –r /media/dvd2
debian:~#mkdir –r /media/dvd3
….
debian:~#mkdir –r /media
SQLSERVER耗时最长的SQL
357029540
SQL Server
对于DBA来说,经常要知道存储过程的某些信息:
1. 执行了多少次
2. 执行的执行计划如何
3. 执行的平均读写如何
4. 执行平均需要多少时间
列名 &
com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil
7454103
eclipse
今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了,解决方法如下:
错误提示信息:
An error has occurred.See error log for more details.
Reason:
com/genuitec/
用正则删除文本中的html标签
adminjun
java html 正则表达式 去掉html标签
使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。
如下:
public static String Html2Text(String inputString) {
String htmlStr = inputString; // 含html标签的字符串
String textSt
嵌入式系统设计中常用总线和接口
aijuans
linux 基础
嵌入式系统设计中常用总线和接口
任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线
Java函数调用方式——按值传递
ayaoxinchao
java 按值传递 对象 基础数据类型
Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。
首先,让我们看一看基础数据类型是如何按值传递的。
public static void main(String[] args) {
int a = 2;
ios音量线性下降
bewithme
ios音量
直接上代码吧
//second 几秒内下降为0
- (void)reduceVolume:(int)second {
KGVoicePlayer *player = [KGVoicePlayer defaultPlayer];
if (!_flag) {
_tempVolume = player.volume;
与其怨它不如爱它
bijian1013
选择 理想 职业 规划
抱怨工作是年轻人的常态,但爱工作才是积极的心态,与其怨它不如爱它。
一般来说,在公司干了一两年后,不少年轻人容易产生怨言,除了具体的埋怨公司“扭门”,埋怨上司无能以外,也有许多人是因为根本不爱自已的那份工作,工作完全成了谋生的手段,跟自已的性格、专业、爱好都相差甚远。
一边时间不够用一边浪费时间
bingyingao
工作 时间 浪费
一方面感觉时间严重不够用,另一方面又在不停的浪费时间。
每一个周末,晚上熬夜看电影到凌晨一点,早上起不来一直睡到10点钟,10点钟起床,吃饭后玩手机到下午一点。
精神还是很差,下午像一直野鬼在城市里晃荡。
为何不尝试晚上10点钟就睡,早上7点就起,时间完全是一样的,把看电影的时间换到早上,精神好,气色好,一天好状态。
控制让自己周末早睡早起,你就成功了一半。
有多少个工作
【Scala八】Scala核心二:隐式转换
bit1129
scala
Implicits work like this: if you call a method on a Scala object, and the Scala compiler does not see a definition for that method in the class definition for that object, the compiler will try to con
sudoku slover in Haskell (2)
bookjovi
haskell sudoku
继续精简haskell版的sudoku程序,稍微改了一下,这次用了8行,同时性能也提高了很多,对每个空格的所有解不是通过尝试算出来的,而是直接得出。
board = [0,3,4,1,7,0,5,0,0,
0,6,0,0,0,8,3,0,1,
7,0,0,3,0,0,0,0,6,
5,0,0,6,4,0,8,0,7,
Java-Collections Framework学习与总结-HashSet和LinkedHashSet
BrokenDreams
linkedhashset
本篇总结一下两个常用的集合类HashSet和LinkedHashSet。
它们都实现了相同接口java.util.Set。Set表示一种元素无序且不可重复的集合;之前总结过的java.util.List表示一种元素可重复且有序
读《研磨设计模式》-代码笔记-备忘录模式-Memento
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
/*
* 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘”
《RAW格式照片处理专业技法》笔记
cherishLC
PS
注意,这不是教程!仅记录楼主之前不太了解的
一、色彩(空间)管理
作者建议采用ProRGB(色域最广),但camera raw中设为ProRGB,而PS中则在ProRGB的基础上,将gamma值设为了1.8(更符合人眼)
注意:bridge、camera raw怎么设置显示、输出的颜色都是正确的(会读取文件内的颜色配置文件),但用PS输出jpg文件时,必须先用Edit->conv
使用 Git 下载 Spring 源码 编译 for Eclipse
crabdave
eclipse
使用 Git 下载 Spring 源码 编译 for Eclipse
1、安装gradle,下载 http://www.gradle.org/downloads
配置环境变量GRADLE_HOME,配置PATH %GRADLE_HOME%/bin,cmd,gradle -v
2、spring4 用jdk8 下载 https://jdk8.java.
mysql连接拒绝问题
daizj
mysql 登录权限
mysql中在其它机器连接mysql服务器时报错问题汇总
一、[running]
[email protected] :~$mysql -uroot -h 192.168.9.108 -p //带-p参数,在下一步进行密码输入
Enter password: //无字符串输入
ERROR 1045 (28000): Access
Google Chrome 为何打压 H.264
dsjt
apple html5 chrome Google
Google 今天在 Chromium 官方博客宣布由于 H.264 编解码器并非开放标准,Chrome 将在几个月后正式停止对 H.264 视频解码的支持,全面采用开放的 WebM 和 Theora 格式。
Google 在博客上表示,自从 WebM 视频编解码器推出以后,在性能、厂商支持以及独立性方面已经取得了很大的进步,为了与 Chromium 现有支持的編解码器保持一致,Chrome
yii 获取控制器名 和方法名
dcj3sjt126com
yii framework
1. 获取控制器名
在控制器中获取控制器名: $name = $this->getId();
在视图中获取控制器名: $name = Yii::app()->controller->id;
2. 获取动作名
在控制器beforeAction()回调函数中获取动作名: $name =
Android知识总结(二)
come_for_dream
android
明天要考试了,速速总结如下
1、Activity的启动模式
standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)
singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Ac
高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元
gcq511120594
工作 项目管理
高洛峰,兄弟连IT教育合伙人、猿代码创始人、PHP培训第一人、《细说PHP》作者、软件开发工程师、《IT峰播》主创人、PHP讲师的鼻祖!
首期现在的进程刚刚过半,徒弟们真的很棒,人品都没的说,团结互助,学习刻苦,工作认真积极,灵活上进。我几乎会把他们全部留下来,现在已有一多半安排了实际的工作,并取得了很好的成绩。等他们出徒之日,凭他们的能力一定能够拿到高薪,而且我还承诺过一个徒弟,当他拿到大学毕
linux expect
heipark
expect
1. 创建、编辑文件go.sh
#!/usr/bin/expect
spawn sudo su admin
expect "*password*" { send "13456\r\n" }
interact
2. 设置权限
chmod u+x go.sh 3.
Spring4.1新特性——静态资源处理增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
idea ubuntuxia 乱码
liyonghui160com
1.首先需要在windows字体目录下或者其它地方找到simsun.ttf 这个 字体文件。
2.在ubuntu 下可以执行下面操作安装该字体:
sudo mkdir /usr/share/fonts/truetype/simsun
sudo cp simsun.ttf /usr/share/fonts/truetype/simsun
fc-cache -f -v
改良程序的11技巧
pda158
技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。
让我们看一些基本的编程技巧:
尽量保持方法简短
永远永远不要把同一个变量用于多个不同的
300个涵盖IT各方面的免费资源(下)——工作与学习篇
shoothao
创业 免费资源 学习课程 远程工作
工作与生产效率:
A. 背景声音
Noisli:背景噪音与颜色生成器。
Noizio:环境声均衡器。
Defonic:世界上任何的声响都可混合成美丽的旋律。
Designers.mx:设计者为设计者所准备的播放列表。
Coffitivity:这里的声音就像咖啡馆里放的一样。
B. 避免注意力分散
Self Co
深入浅出RPC
uule
rpc
深入浅出RPC-浅出篇
深入浅出RPC-深入篇
RPC
Remote Procedure Call Protocol
远程过程调用协议
它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发