小编Gil*_*il'的帖子

Perl和元字符中的斜杠和散列

感谢大家以前的帮助!我有一个关于Perl中RegExp的查询

我的问题是......

我知道,匹配时你可以写m //或//或##(如果你使用它,必须包括m或s).是什么让我感到困惑是一本关于逃避角色的书籍例子.我相信大多数人逃脱了很多角色,作为一个确定的程序工作方式而不会错过一个元字符,即:\ @当想在电子邮件地址中匹配@ say时.

这是我的问题,我知道这个脚本的作用:

$date= "15/12/99"
$date=~ s#(\d+)/(\d+)/(\d+)#$1/$2/$3#; << why are no forward slashes escaped??
print($date);
Run Code Online (Sandbox Code Playgroud)

然而我后面的例子,显示它被重写,因为(我也理解并且它们被逃脱)

$date =~ s/()(\d+)\/(\d+)\/(d+)/$2\/$1\/$3; <<<<which is escaping the forward slashes.
Run Code Online (Sandbox Code Playgroud)

我知道斜杠或哈希是程序员的偏好和它们的用途.我不明白的是为什么第二个例子,逃避斜线,但第一个没有 - 我已经尝试过,他们双向工作.哈希没有逃脱的斜线?甚至更令人困惑的是,看着我之前还有另一本书的例子,再次使用哈希,它们也逃脱了@符号.

if ($address =~ m#\@#) { print("That's an email address"); } 或类似的东西

那你从什么不使用哈希或斜线逃脱了什么?我知道你必须逃脱元字符以匹配它们但我很困惑.

regex perl slash

1
推荐指数
1
解决办法
3047
查看次数

在循环条件中使用宏

我在C++编程,我将一个变量定义为宏,我想使用宏从函数返回一个值.

由于某种原因,编译器说我有语法错误.我正在使用Linux.

#include <iostream>
#define FACTOR 10;
int dosomthing(){
    return (FACTOR/2);
}
Run Code Online (Sandbox Code Playgroud)

什么可能出错?

c++ syntax macros function

1
推荐指数
2
解决办法
236
查看次数

小文本处理程序中的分段错误

我有一个c ++函数read_inputdata来读取一些inputfile并将值写入一个数组.我首先声明一个适当长度的数组,并使用函数我用输入文件中的值填充它.

但是我遇到了分段错误.有谁知道我做错了什么?

#define MAX 140160
void read_inputdata(double input[MAX], char files[40]);

char inputfiles1[40] = "input/Hesse04/FR_Hes_rad.txt";
std::cout << "Declaring the arrays" << std::endl;
double input1[MAX];
std::cout << "Calling function read_inputdata" << std::endl;
read_inputdata(input1, inputfiles1);
Run Code Online (Sandbox Code Playgroud)

当我编译并运行它时,我得到:

Declaring the arrays
Calling function read_inputdata
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

所以目前他称这个功能read_inputdata出了问题,因为他没有达到std::cout << "In function read_inputdata" << std::endl;.

功能:

void read_inputdata(double input[MAX], char files[40])
{
    std::cout << "In function read_inputdata" << std::endl;
    std::ifstream inputfile;
    inputfile.open(files);
    if (inputfile.is_open())
    {
        char temp[100];
        double getal[2][MAX];
        int …
Run Code Online (Sandbox Code Playgroud)

c++ segmentation-fault

1
推荐指数
1
解决办法
310
查看次数

正则表达式拒绝'_'

我想拒绝以字母开头的字符串_._如果在字符串中找到,我有正则表达式拒绝. "^[^_]*$".

java regex

1
推荐指数
1
解决办法
160
查看次数

结合正则表达式匹配

是否有可能将这5个正则表达式合并为一个(或至少其中一些)?

/[ ,][ABCabc][:]\d+/g
/[ ,][ABCabc][ ]?[=][ ]?\d+/g
/^[ABCabc][:]\d+/g
/^[ABCabc][ ]?[=][ ]?\d+/g
/[\\][\w][ABCabc][ ]?[=][ ]?\d+/g
Run Code Online (Sandbox Code Playgroud)

提示,更正和改进也会很棒.

regex perl

1
推荐指数
1
解决办法
1493
查看次数

简单更新查询不更新.没有例外,没有错误.根本不值一提

我试图做一个非常简单的更新,但事实证明非常困难.我不知道发生了什么事; 它只是不更新​​:

这是我的更新代码:

if(Request.QueryString["Action"] == "Update")
{
    var InPage = Request["InPage"];
    var PositionInPage = Request["PositionInPage"];
    var CategoryName = Request["CategoryName"];
    var ImagePath = Request["ImagePath"];
    database.Execute("UPDATE Categories SET PositionInPage = " +
                     PositionInPage + ", InPage = " + InPage +
                     " WHERE CategoryName = '" + CategoryName +
                     "' AND ImagePath = '" + ImagePath + "'");
    Response.Redirect("~/Fashion.cshtml");
}
Run Code Online (Sandbox Code Playgroud)

这是表单代码:

<form method="post" action="Update.cshtml?Action=Update">
    <input type="hidden" name="CategoryName" value="@Request.QueryString["CategoryName"]" />
    <input type="hidden" name="ImagePath" value="@Request.QueryString["ImagePath"]" />
    <label for="InPage">Move to Page</label>
    <input type="text" name="InPage" value="@Request.QueryString["InPage"]" …
Run Code Online (Sandbox Code Playgroud)

.net c# sql asp.net razor

1
推荐指数
1
解决办法
1302
查看次数

Servlet中的转换问题

我有一个servlet程序.这是我的代码:

public class CompanionProxy extends HttpServlet {
    DeviceDAOHibernateImpl daoImpl = null;
    Logger log = Logger.getLogger("CompanionProxy");
    public void init(){
        daoImpl = new DeviceDAOHibernateImpl();
        ProxyParser parser = ProxyParserFactory.getParser(ProxyParser.Type.XML);
        log.info("Config file Path "+parser.getClass().getName());
        ArrayList<Device> aDeviceList = parser.parse("c:\\proxy_setup_load.xml");//CommonConstants.CONFIG_FILE_PATH);
        for (Iterator iterator = aDeviceList.iterator(); iterator.hasNext();) {
            Device device = (Device) iterator.next();
            try {
                daoImpl.create(device);
            } catch (ProxyException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        try {
            List<Device> listDevices = daoImpl.list();
            for (Iterator iterator = listDevices.iterator(); iterator.hasNext();) {
                Device device = (Device) iterator.next(); …
Run Code Online (Sandbox Code Playgroud)

java servlets

1
推荐指数
1
解决办法
1818
查看次数

在我的代码中用[]替换.at()

我是一名C++用户,并获得了一些.at()用于对STL向量进行绑定检查的代码.现在我想将它们改为标准[].有谁知道可以做到这一点的脚本?它不一定是一个超级通用的脚本 - 大部分情况都是.at(i)或者可能.at(a*i+j)- 但它们有太多可以手工完成.

c++ perl awk sed

1
推荐指数
1
解决办法
232
查看次数

无法理解C函数调用

我有一个定义函数:

int foobar(char *ptr,...)
Run Code Online (Sandbox Code Playgroud)

函数调用如下:

int (*fooptr) (char *,...) = foobar;
Run Code Online (Sandbox Code Playgroud)

我无法理解该函数是如何被调用的...提前谢谢

c function

1
推荐指数
1
解决办法
129
查看次数

strcmp参数类型错误

我试图不使用isSpace函数,所以唯一想到的是strcpy但是我收到了一个错误

while ( walker > 0 &&   strcmp(a[walker - 1],space_const) )

Warning 86: argument 1 conflicts with formal definition
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?space_constchar初始化为" "

char* strTrim(char* string)
{
 char* a= string;

 char delims[3];
 char space_const[] =" ";
 char syntax_const[]=" \t\n\v";
 size_t walker = strlen ( a );
 strcpy(delims,space_const);
 /* Trim trailing spaces */
 while ( walker > 0 &&   strcmp(a[walker - 1],space_const) )
   --walker; 

 a[walker] = '\0';

 /* Trim leading spaces */
 walker = …
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
335
查看次数

标签 统计

c++ ×3

perl ×3

regex ×3

c ×2

function ×2

java ×2

.net ×1

asp.net ×1

awk ×1

c# ×1

macros ×1

razor ×1

sed ×1

segmentation-fault ×1

servlets ×1

slash ×1

sql ×1

syntax ×1