当前位置:首页 » 编程软件 » nm编程

nm编程

发布时间: 2023-02-02 06:24:49

① 请问那位知道:微软编程里:BN、BM、BS、NM是什么的缩写啊是控件部分的内容。。

仅供参考:
BM: Button Message
BN: Button Notification Code
BS: Border Style
NM: Notification Message

② 数控车床编程中26个英文字母代表什么意思

FANUC数控G代码,常用M代码: 代码名称-功能简述 G00------快速定位 G01------直线插补 G02------顺时针方向圆弧插补 G03------逆时针方向圆弧插补 G04------定时暂停 G05------通过中间点圆弧插补 G07------Z样条曲线插补 G08------进给加速 G09------进给减速 G20------子程序调用 G22------半径尺寸编程方式 G220-----系统操作界面上使用 G23------直径尺寸编程方式 G230-----系统操作界面上使用 G24------子程序结束 G25------跳转加工 G26------循环加工 G30------倍率注销 G31------倍率定义 G32------等螺距螺纹切削,英制 G33------等螺距螺纹切削,公制 G53,G500-设定工件坐标系注销 G54------设定工件坐标系一 G55------设定工件坐标系二 G56------设定工件坐标系三 G57------设定工件坐标系四 G58------设定工件坐标系五 G59------设定工件坐标系六 G60------准确路径方式 G64------连续路径方式 G70------英制尺寸寸 G71------公制尺寸毫米 G74------回参考点(机床零点) G75------返回编程坐标零点 G76------返回编程坐标起始点 G81------外圆固定循环 G331-----螺纹固定循环 G90------绝对尺寸 G91------相对尺寸 G92------预制坐标 G94------进给率,每分钟进给 G95------进给率,每转进给 功能详解 G00—快速定位 格式:G00X(U)__Z(W)__ 说明:(1)该指令使刀具按照点位控制方式快速移动到指定位置。移动过程中不得对工件 进行加工。 (2)所有编程轴同时以参数所定义的速度移动,当某轴走完编程值便停止,而其他 轴继续运动, (3)不运动的坐标无须编程。 (4)G00可以写成G0 例:G00X75Z200 G0U-25W-100 先是X和Z同时走25快速到A点,接着Z向再走75快速到B点。 G01—直线插补 格式:G01X(U)__Z(W)__F__(mm/min) 说明:(1)该指令使刀具按照直线插补方式移动到指定位置。移动速度是由F指令 进给速度。所有的坐标都可以联动运行。 (2)G01也可以写成G1 例:G01X40Z20F150 两轴联动从A点到B点 G02—逆圆插补 格式1:G02X(u)____Z(w)____I____K____F_____ 说明:(1)X、Z在G90时,圆弧终点坐标是相对编程零点的绝对坐标值。在G91时, 圆弧终点是相对圆弧起点的增量值。无论G90,G91时,I和K均是圆弧终点的坐标值。 I是X方向值、K是Z方向值。圆心坐标在圆弧插补时不得省略,除非用其他格式编程。 (2)G02指令编程时,可以直接编过象限圆,整圆等。 注:过象限时,会自动进行间隙补偿,如果参数区末输入间隙补偿与机床实际反向间隙 悬殊,都会在工件上产生明显的切痕。 (3)G02也可以写成G2。 例:G02X60Z50I40K0F120 格式2:G02X(u)____Z(w)____R(\-)__F__ 说明:(1)不能用于整圆的编程 (2)R为工件单边R弧的半径。R为带符号,“+”表示圆弧角小于180度; “-”表示圆弧角大于180度。其中“+”可以省略。 (3)它以终点点坐标为准,当终点与起点的长度值大于2R时,则以直线代替圆弧。 例:G02X60Z50R20F120 格式3:G02X(u)____Z(w)____CR=__(半径)F__ 格式4:G02X(u)____Z(w)__D__(直径)F___ 这两种编程格式基本上与格式2相同 G03—顺圆插补 说明:除了圆弧旋转方向相反外,格式与G02指令相同。 G04—定时暂停 格式:G04__F__或G04__K__ 说明:加工运动暂停,时间到后,继续加工。暂停时间由F后面的数据指定。单位是秒。 范围是0.01秒到300秒。 G05—经过中间点圆弧插补 格式:G05X(u)____Z(w)____IX_____IZ_____F_____ 说明:(1)X,Z为终点坐标值,IX,IZ为中间点坐标值。其它与G02/G03相似 例:G05X60Z50IX50IZ60F120 G08/G09—进给加速/减速 格式:G08 说明:它们在程序段中独自占一行,在程序中运行到这一段时,进给速度将增加10%, 如要增加20%则需要写成单独的两段。 G22(G220)—半径尺寸编程方式 格式:G22 说明:在程序中独自占一行,则系统以半径方式运行,程序中下面的数值也是 以半径为准的。 G23(G230)—直径尺寸编程方式 格式:G23 说明:在程序中独自占一行,则系统以直径方式运行,程序中下面的数值也是 以直径为准的。 G25—跳转加工 格式:G25LXXX 说明:当程序执行到这段程序时,就转移它指定的程序段。(XXX为程序段号)。 G26—循环加工 格式:G26LXXXQXX 说明:当程序执行到这段程序时,它指定的程序段开始到本段作为一个循环体, 循环次数由Q后面的数值决定。 G30—倍率注销 格式:G30 说明:在程序中独自占一行,与G31配合使用,注销G31的功能。 G31—倍率定义 格式:G31F_____ G32—等螺距螺纹加工(英制) G33—等螺距螺纹加工(公制) 格式:G32/G33X(u)____Z(w)____F____ 说明:(1)X、Z为终点坐标值,F为螺距 (2)G33/G32只能加工单刀、单头螺纹。 (3)X值的变化,能加工锥螺纹 (4)使用该指令时,主轴的转速不能太高,否则刀具磨损较大。 G50—设定工件坐标/设定主轴最高(低)转速 格式:G50S____Q____ 说明:S为主轴最高转速,Q为主轴最低转速 G54—设定工件坐标一 格式:G54 说明:在系统中可以有几个坐标系,G54对应于第一个坐标系,其原点位置数值在机床 参数中设定。 G55—设定工件坐标二 同上 G56—设定工件坐标三 同上 G57—设定工件坐标四 同上 G58—设定工件坐标五 同上 G59—设定工件坐标六 同上 G60—准确路径方式 格式:G60 说明:在实际加工过程中,几个动作连在一起时,用准确路径编程时,那么在进行 下一段加工时,将会有个缓冲过程(意即减速) G64—连续路径方式 格式:G64 说明:相对G60而言。主要用于粗加工。 G74—回参考点(机床零点) 格式:G74XZ 说明:(1)本段中不得出现其他内容。 (2)G74后面出现的的座标将以X、Z依次回零。 (3)使用G74前必须确认机床装配了参考点开关。 (4)也可以进行单轴回零。 G75—返回编程坐标零点 格式:G75XZ 说明:返回编程坐标零点 G76—返回编程坐标起始点 格式:G76 说明:返回到刀具开始加工的位置。 G81—外圆(内圆)固定循环 格式:G81__X(U)__Z(W)__R__I__K__F__ 说明:(1)X,Z为终点坐标值,U,W为终点相对于当前点的增量值。 (2)R为起点截面的要加工的直径。 (3)I为粗车进给,K为精车进给,I、K为有符号数,并且两者的符号应相同。 符号约定如下:由外向中心轴切削(车外圆)为“—”,反这为“”。 (4)不同的X,Z,R决定外圆不同的开关,如:有锥度或没有度, 正向锥度或反向锥度,左切削或右切削等。 (5)F为切削加工的速度(mm/min) (6)加工结束后,刀具停止在终点上。 例:G81X40Z100R15I-3K-1F100 加工过程: 1:G01进刀2倍的I(第一刀为I,最后一刀为IK精车),进行深度切削: 2:G01两轴插补,切削至终点截面,如果加工结束则停止: 3:G01退刀I到安全位置,同时进行辅助切面光滑处理 4:G00快速进刀到高工面I外,预留I进行下一步切削加工,重复至1。 G90—绝对值方式编程 格式:G90 说明:(1)G90编入程序时,以后所有编入的坐标值全部是以编程零点为基准的。 (2)系统上电后,机床处在G状态。 N0010G90G92x20z90 N0020G01X40Z80F100 N0030G03X60Z50I0K-10 N0040M02 G91—增量方式编程 格式:G91 说明:G91编入程序时,之后所有坐标值均以前一个坐标位置作为起点来计算 运动的编程值。在下一段坐标系中,始终以前一点作为起始点来编程。 例:N0010G91G92X20Z85 N0020G01X20Z-10F100 N0030Z-20 N0040X20Z-15 N0050M02 G92—设定工件坐标系 格式:G92X__Z__ 说明:(1)G92只改变系统当前显示的坐标值,不移动坐标轴,达到设定坐标 原点的目的。 (2)G92的效果是将显示的刀尖坐标改成设定值。 (3)G92后面的XZ可分别编入,也可全编。 G94—进给率,每分钟进给 说明:这是机床的开机默认状态。 G20—子程序调用 格式:G20L__ N__ 说明:(1)L后为要调用的子程序N后的程序名,但不能把N输入。 N后面只允许带数字1~99999999。 (2)本段程序不得出现以上描述以外的内容。 G24—子程序结束返回 格式:G24 说明:(1)G24表示子程序结束,返回到调用该子程序程序的下一段。 (2)G24与G20成对出现 (3)G24本段不允许有其它指令出现。 ]实例 例:通过下例说明在子程序调用过程中参数的传递过程,请注意应用 程序名:P10 M03S1000 G20L200 M02 N200G92X50Z100 G01X40F100 Z97 G02Z92X50I10K0F100 G01Z-25F100 G00X60 Z100 G24 如果要多次调用,请按如下格式使用 M03S1000 N100G20L200 N101G20L200 N105G20L200 M02 N200G92X50Z100 G01X40F100 Z97 G02Z92X50I10K0F100 G01Z-25F100 G00X60 Z100 G24 G331—螺纹加工循环 格式:G331X__Z__I__K__R__p__ 说明:(1)X向直径变化,X=0是直螺纹 (2)Z是螺纹长度,绝对或相对编程均可 (3)I是螺纹切完后在X方向的退尾长度,±值 (4)R螺纹外径与根径的直径差,正值 (5)K螺距KMM (6)p螺纹的循环加工次数,即分几刀切完 提示: 1、每次进刀深度为R÷p并取整,最后一刀不进刀来光整螺纹面 2、内螺纹退尾根据沿X的正负方向决定I值的称号。 3、螺纹加工循环的起始位置为将刀尖对准螺纹的外圆处。 例子: M3 G4f2 G0x30z0 G331z-50x0i10k2r1.5p5 G0z0 M05 注意事项 补充一下: 1、G00与G01 G00运动轨迹有直线和折线两种,该指令只是用于点定位,不能用于切削加工 G01按指定进给速度以直线运动方式运动到指令指定的目标点,一般用于切削加工 2、G02与G03 G02:顺时针圆弧插补G03:逆时针圆弧插补 3、G04(延时或暂停指令) 一般用于正反转切换、加工盲孔、阶梯孔、车削切槽 4、G17、G18、G19平面选择指令,指定平面加工,一般用于铣床和加工中心 G17:X-Y平面,可省略,也可以是与X-Y平面相平行的平面 G18:X-Z平面或与之平行的平面,数控车床中只有X-Z平面,不用专门指定 G19:Y-Z平面或与之平行的平面 5、G27、G28、G29参考点指令 G27:返回参考点,检查、确认参考点位置 G28:自动返回参考点(经过中间点) G29:从参考点返回,与G28配合使用 6、G40、G41、G42半径补偿 G40:取消刀具半径补偿 7、G43、G44、G49长度补偿 G43:长度正补偿G44:长度负补偿G49:取消刀具长度补偿 8、G32、G92、G76 G32:螺纹切削G92:螺纹切削固定循环G76:螺纹切削复合循环 9、车削加工:G70、G71、72、G73 G71:轴向粗车复合循环指令G70:精加工复合循环G72:端面车削,径向粗车循环G73:仿形粗车循环 10、铣床、加工中心: G73:高速深孔啄钻G83:深孔啄钻G81:钻孔循环G82:深孔钻削循环 G74:左旋螺纹加工G84:右旋螺纹加工G76:精镗孔循环G86:镗孔加工循环 G85:铰孔G80:取消循环指令 11、编程方式G90、G91 G90:绝对坐标编程G91:增量坐标编程 12、主轴设定指令 G50:主轴最高转速的设定G96:恒线速度控制G97:主轴转速控制(取消恒线速度控制指令)G99:返回到R点(中间孔)G98:返回到参考点(最后孔) 部分通用M代码: 代码功能格式 M00程序停止 M01选择停止 M02程序结束 M03主轴正向转动开始 M04主轴反向转动开始 M05主轴停止转动 M30结束程序运行且返回程序开头 M98子程序调用M98Pxxnnnn 调用程序号为Onnnn的程序xx次。 M99子程序结束子程序格式: FANUC系统操作面板按键: RESET复位键 按下此键,复位CNC系统。包括取消报警、主轴故障复位、中途退出自动操作循环和中途退出输入、输出过程等。 CURSOR光标移动键 移动光标至编辑处 PAGE页面转换键CRT画面向前变换页面RT画面向后变换页面 地址和数字键按下这些键,输入字母、数字和其它字符 POS位置显示键在CRT上显示机床现在的位置 PRGRM程序键在编辑方式,编辑和显示内存中的程序 在MDI方式,输入和显示MDI数据在自动方式,指令值显示 MENUOFFSET偏置值设定和显示 DGNOSPARAM自诊断参数键参数设定和显示,诊断数据显示 OPRALARM报警号显示键报警号显示及软件操作面板的设定和显示 AUXGRAPH图形显示键图形显示功能 INPUT输入键用于参数或偏置值的输入;启动I/O设备的输入;MDI方式下的指令数据的输 OUTPTSTART输出启动键输出程序到I/O设备 ALTER修改键修改存储器中程序的字符或符号 INSRT插入键在光标后插入字符或符号 CAN取消键取消已键入缓冲器的字符或符号 DELET删除键删除存储器中程序的字符或符号

③ 一道java编程--Integer类的getInteger(String nm)方法

String st = "22";

System.out.println(Integer.parseInt(st));
一般把字符串转INT,这样写就行了啊。

getInteger这个方法是确定具有指定名称的系统属性的整数值。具体怎么用,没有用过,你查查API自己琢磨琢磨。

④ 谁能帮我解释一下c语言编程里面这句话是什么意思 printf("M=100, n=%d\nM=1000, n=%d\nM=10000, n=%d\n",

printf("M=100, n=%d\nM=1000, n=%d\nM=10000, n=%d\n",
这句话还有后半截没写出来(与几个%d对应的变量),以上的大部分照样在屏幕输出,其中\n为换行,%d与后面半截对应,第一个%d对应后面第一个变量的值,、、、以此类推。剩下的原样输出。

⑤ java编程:进制转换

Java中的进制转换是通过基本数据类型类中的相应方法实现的。举个例子:
public class IntegerChange {
public static void main(String[] args) {
String nm = new String("445");
int n = Integer.parseInt(nm);
System.out.println("十进制表示:" + n);
System.out.println("二进制表示:" + Integer.toBinaryString(n));
System.out.println("八进制表示:" + Integer.toOctalString(n));
System.out.println("十六进制表示:" + Integer.toHexString(n));
}
}
输出结果:
十进制表示:445
二进制表示:110111101
八进制表示:675
十六进制表示:1bd
至于八进制转换为十进制,十六进制,二进制等等都有相应的方法,具体的可以查看Java帮助文档。
希望对你有所帮助。

⑥ 编程求1到100之间的所有素数 并输入结果

#include<stdio.h>
int main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*输入求素数的范围*/
}while(!(n1>0&&n1<nm)); /*输入正确的范围*/
printf("...........PRIME TABLE(%d--%d)............\n",n1,nm);
if(n1==1||n1==2) /*处理素数2*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/
{
if(!(i%2))continue;
for(flag=1,j=3;flag&&j<i/2;j+=2)
/*判定能否被从3到整数的一半中的某一数所整除*/
if(!(i%j))flag=0; /*若能整除则不是素数*/
if(flag) printf(++count%15?"%4d":"%4d\n",i);
}
}

⑦ 正则表达式的符号

(摘自《正则表达式之道》)
正则表达式 由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。
在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式testing中没有包含任何元字符,它可以匹配testing和testing123等字符串,但是不能匹配Testing。
要想真正的用好正则表达式,正确的理解元字符是最重要的事情。下表列出了所有的元字符和对它们的一个简短的描述。 元字符 描述 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配 。“ ”匹配换行符。序列“\”匹配“”而“(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“ ”或“ ”之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“ ”或“ ”之前的位置。 * 匹配前面的子表达式任意次。例如,zo*能匹配“z”,“zo”以及“zoo”,但是不匹配“bo”。*等价于{0,}。 + 匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。 ? 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}。 {n} n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。 {n,} n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。 {n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。 ? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。 .点 匹配除“ ”之外的任何单个字符。要匹配包括“ ”在内的任何字符,请使用像“[sS]”的模式。 (pattern) 匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“(”或“)”。 (?:pattern) 非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“instr(?:y|ies)”就是一个比“instry|instries”更简略的表达式。 (?=pattern) 非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。 (?!pattern) 非获取匹配,正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。 (?<=pattern) 非获取匹配,反向肯定预查,与正向肯定预查类似,只是方向相反。例如,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。 (?<!pattern) 非获取匹配,反向否定预查,与正向否定预查类似,只是方向相反。例如“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”,但不能匹配“2000Windows”中的“Windows”。这个地方不正确,有问题 x|y 匹配x或y。例如,“z|food”能匹配“z”或“food”(此处请谨慎)。“(z|f)ood”则匹配“zood”或“food”。 [xyz] 字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。 [^xyz] 负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“plin”。 [a-z] 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围; 如果出字符组的开头,则只能表示连字符本身. [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。  匹配一个单词边界,也就是指单词和空格间的位置(即正则表达式的“匹配”有两种概念,一种是匹配字符,一种是匹配位置,这里的就是匹配位置的)。例如,“er”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。 B 匹配非单词边界。“erB”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。 cx 匹配由x指明的控制字符。例如,cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。 d 匹配一个数字字符。等价于[0-9]。 D 匹配一个非数字字符。等价于[^0-9]。 f 匹配一个换页符。等价于 和cL。 匹配一个换行符。等价于 和cJ。 匹配一个回车符。等价于 和cM。 s 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ f v]。 S 匹配任何可见字符。等价于[^ f v]。 匹配一个制表符。等价于 和cI。 v 匹配一个垂直制表符。等价于 和cK。 w 匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的单词字符使用Unicode字符集。 W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。 xn 匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“ ”匹配“A”。“ 1”则等价于“ &1”。正则表达式中可以使用ASCII编码。 um 匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)1”匹配两个连续的相同字符。 标识一个八进制转义值或一个向后引用。如果 之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。 m 标识一个八进制转义值或一个向后引用。如果 m之前至少有nm个获得子表达式,则nm为向后引用。如果 m之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则 m将匹配八进制转义值nm。 ml 如果n为八进制数字(0-7),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。 un 匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,u00A9匹配版权符号(&;)。 p{P} 小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。中括号内的“P”表示Unicode 字符集七个字符属性之一:标点字符。
其他六个属性:
L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符。
*注:此语法部分语言不支持,例:javascript。 < >匹配词(word)的开始(<)和结束(>)。例如正则表达式<the>能够匹配字符串for the wise中的the,但是不能匹配字符串otherwise中的the。注意:这个元字符不是所有的软件都支持的。( )将( 和 ) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 1 到9 的符号来引用。|将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配it belongs to him和it belongs to her,但是不能匹配it belongs to them.。注意:这个元字符不是所有的软件都支持的。+匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的。?匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。{i} {i,j}匹配指定数目的字符,这些字符是在它之前的表达式定义的。例如正则表达式A[0-9]{3} 能够匹配字符A后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。而正则表达式[0-9]{4,6} 匹配连续的任意4个、5个或者6个数字最简单的元字符是点,它能够匹配任何单个字符(注意不包括换行符)。假定有个文件test.txt包含以下几行内容:
he is arat
he is in a rut
the food is Rotten
I like root beer
我们可以使用grep命令来测试我们的正则表达式,grep命令使用正则表达式去尝试匹配指定文件的每一行,并将至少有一处匹配表达式的所有行显示出来。命令
grep r.t test.txt
在test.txt文件中的每一行中搜索正则表达式r.t,并打印输出匹配的行。正则表达式r.t匹配一个r接着任何一个字符再接着一个t。所以它将匹配文件中的rat和rut,而不能匹配Rotten中的Rot,因为正则表达式是大小写敏感的。要想同时匹配大写和小写字母,应该使用字符区间元字符(方括号)。正则表达式[Rr]能够同时匹配R和r。所以,要想匹配一个大写或者小写的r接着任何一个字符再接着一个t就要使用这个表达式:[Rr].t。
要想匹配行首的字符要使用抑扬字符(^)——有时也被叫做插入符。例如,想找到text.txt中行首he打头的行,你可能会先用简单表达式he,但是这会匹配第三行的the,所以要使用正则表达式^he,它只匹配在行首出现的he。
有时候指定“除了×××都匹配”会比较容易达到目的,当抑扬字符(^)出方括号中时,它表示“排除”,例如要匹配he ,但是排除前面是t or s的情形(也就是the和she),可以使用:[^st]he。
可以使用方括号来指定多个字符区间。例如正则表达式[A-Za-z]匹配任何字母,包括大写和小写的;正则表达式[A-Za-z][A-Za-z]* 匹配一个字母后面接着0或者多个字母(大写或者小写)。当然我们也可以用元字符+做到同样的事情,也就是:[A-Za-z]+ ,和[A-Za-z][A-Za-z]*完全等价。但是要注意元字符+ 并不是所有支持正则表达式的程序都支持的。关于这一点可以参考后面的正则表达式语法支持情况。
要指定特定数量的匹配,要使用大括号(注意必须使用反斜杠来转义)。想匹配所有10和100的实例而排除1和 1000,可以使用:10{1,2},这个正则表达式匹配数字1后面跟着1或者2个0的模式。在这个元字符的使用中一个有用的变化是忽略第二个数字,例如正则表达式0{3,} 将匹配至少3个连续的0。
例1
将所有方法foo(a,b,c)的实例改为foo(b,a,c)。这里a、b和c可以是任何提供给方法foo()的参数。也就是说我们要实现这样的转换:
之前 之后
foo(10,7,2) foo(7,10,2)
foo(x+13,y-2,10) foo(y-2,x+13,10)
foo( bar(8), x+y+z, 5) foo( x+y+z, bar(8), 5)
下面这条替换命令能够实现这一魔法:
:%s/foo(([^,]*),([^,]*),([^,)]*))/foo(2,1,3)/g
让我们把它打散来加以分析。写出这个表达式的基本思路是找出foo()和它的括号中的三个参数的位置。第一个参数是用这个表达式来识别的::([^,]*),我们可以从里向外来分析它:
[^,] 除了逗号之外的任何字符
[^,]* 0或者多个非逗号字符
([^,]*) 将这些非逗号字符标记为1,这样可以在之后的替换模式表达式中引用它
([^,]*), 我们必须找到0或者多个非逗号字符后面跟着一个逗号,并且非逗号字符那部分要标记出来以备后用。
正是指出一个使用正则表达式常见错误的最佳时机。为什么我们要使用[^,]*这样的一个表达式,而不是更加简单直接的写法,例如:.*,来匹配第一个参数呢?设想我们使用模式.*来匹配字符串10,7,2,它应该匹配10,还是10,7,?为了解决这个两义性(ambiguity),正则表达式规定一律按照最长的串来,在上面的例子中就是10,7,,显然这样就找出了两个参数而不是我们期望的一个。所以,我们要使用[^,]*来强制取出第一个逗号之前的部分。
这个表达式我们已经分析到了:foo(([^,]*),这一段可以简单的翻译为“当你找到foo(就把其后直到第一个逗号之前的部分标记为1”。然后我们使用同样的办法标记第二个参数为2。对第三个参数的标记方法也是一样,只是我们要搜索所有的字符直到右括号。我们并没有必要去搜索第三个参数,因为我们不需要调整它的位置,但是这样的模式能够保证我们只去替换那些有三个参数的foo()方法调用,在foo()是一个重载(overloading)方法时这种明确的模式往往是比较保险的。然后,在替换部分,我们找到foo()的对应实例,然后利用标记好的部分进行替换,是把第一和第二个参数交换位置。
正则表达式语法支持情况 命令或环境 . [ ] ^ $ ( ) { } ? + | ( ) vi √ √ √ √ √ Visual C++ √ √ √ √ √ awk √ √ √ √ awk是支持该语法的,只是要在命令
行加入 --posix or --re-interval参数即可,可见
man awk中的interval expression √ √ √ √ sed √ √ √ √ √ √ delphi √ √ √ √ √ √ √ √ √ python √ √ √ √ √ √ √√√√java √ √ √ √ √ √ javascript √ √ √ √ √ √ √ √ √ php √ √ √ √ √ perl √ √ √ √ √ √ √ √ √ C# √ √ √ √ √ √ √ √

⑧ vb最小公倍数的编程

m = InputBox("输入第一个自然数")
n = InputBox("输入第二个自然数")
nm = n * m
If m < n Then t = m: m = n: n = t
r = m Mod n
Do While (r <> 0)
m = n
n = r
r = m Mod n
Loop
MsgBox ("最小公倍数为" & nm / n)

⑨ C语言 编程 用函数计算 m!/[n!*(n-m)!]

1、从桌面打开下载好的编程软件。

⑩ 统赢慢走丝编程电脑的指令是什么

常用指令之快捷键(presscad\program\acad.pgp) 绘图指令: A(arc)圆弧 B/REC (rectang)矩形 C(circle)圆 DO(donut)圆环 EL(ellipse)椭圆 H(hatch)剖面线 L(line)直线 PL(pline)复线 PO(point)点 POL(polygon)多边形 T(text)文字 编辑指令: AR(array)阵列 BR(break)打断 CO()复制 CHA(chamfer)倒直角 CH/MO(chang)修改 DA(Dim Arrows) 标注箭头设定 DE 调整尺寸线与文字的位置 DG(Dim gap)标注文字与标注线的距离 DH(Dim Height) 标注文字的高度 DI(DIST)测量距离 E(erase)删除 ED(ddedit)文字编辑 EX(extand)延伸 F(fillet)倒圆角 LEN(lengthen)延长 M(move)移动 MA(Matchprop)性质复制 MI(mirror)镜射 O(offset)偏移 R(rotate)旋转 RE(Regen)重生 S(stretch)拉展 SC(scale)比例 TR(trim)修剪 X(explode)炸开 尺寸标注指令: D1 尺寸共线 DD 直径标注 HD/LD 水平标注 RD 半径标注 XD 坐标标注 PressCAD好用功能 AA 图层全开 AAA 图层(尺寸)全开 ADJ(ADJ)小数调整 AH 自动穿线孔 AJ(autojoin)自动串接 AQ 模板零件 BF 料表清单注解 CCW顺时针改逆时针 CHL图层转换 CL(pcolor)颜色线型 CR(2)旋转复制 CW逆时针改顺时针 CP(ch_part)零件处理 CCT 清除标签 上面的是处理图档的, WT 线割功能,往后就根据提示输就好了,会有对话框,

热点内容
php静态方法调用对象 发布:2024-05-05 19:24:30 浏览:366
电脑LNS服务器地址 发布:2024-05-05 19:22:15 浏览:375
不属于编译程序组成的部分是什么 发布:2024-05-05 19:05:34 浏览:613
压缩面食 发布:2024-05-05 18:55:45 浏览:804
linux的gz解压命令 发布:2024-05-05 18:24:13 浏览:311
服务器机柜属于什么辐射 发布:2024-05-05 18:02:10 浏览:336
存储成本计算 发布:2024-05-05 18:02:10 浏览:584
如何把手机改安卓10 发布:2024-05-05 17:39:07 浏览:498
我的世界怎么扩容服务器内存 发布:2024-05-05 17:19:54 浏览:48
java读取文件字符 发布:2024-05-05 17:15:18 浏览:11